30. marts 2006 - 19:03Der er
6 kommentarer og 1 løsning
Login i php , sessions driller
Jeg har skrevet et meget simpelt login system, hvor folk logger ind og hiver deres brugernavn og password med i en session.
if(isset($_REQUEST['Send'])){ # Starter sessionen så vi senere kan gemme / hente variabler herfra $Username = $_POST["Username"]; $Password = md5($_POST["Password"]);
# Forespørger databasen, om der er en række med brugernavnet $Username og kodeordet $Password $Query = mysql_query("SELECT * FROM poker_bruger WHERE username='". $Username ."' AND password='". $Password ."'");
# Smider resultatet ind i et objekt $Row = mysql_fetch_object($Query);
# Tjekker om der var nogen der passede til vores forespørgsel if(!empty($Row)) {
# Smider brugernavnet og kodeordet ind i sessioner $_SESSION['Username'] = $Username; $_SESSION['Password'] = $Password;
# Man er logget ind header("location: tilmelding.php"); } else { header("location: login.php?fejl="); }
}
Det virker udemærket for mig! Men flere andre oplever at der ingenting sker når de forsøger at logge ind (Via en simpel formular og en Send knap:
Har på fornemmelsen af det er sessions der driller, oplever det hver gang jeg bruger dem? Hvad gør jeg forkert, hvordan kan jeg lave et login system som fungerer hos alle?
Sikkerheden er ikke i højsædet, da det mest er til leg.
if(isset($_GET["fejl"])){ $fejl = "Dine loginoplysninger var ikke korekte"; } if(isset($_GET["opret"])){ $fejl = "Du kan nu logge ind med dit brugernavn og password"; }
if(isset($_REQUEST['Send'])) { # Starter sessionen så vi senere kan gemme / hente variabler herfra $Username = mysql_real_escape_string($_POST["Username"]); $Password = md5($_POST["Password"]);
# Forespørger databasen, om der er en række med brugernavnet $Username og kodeordet $Password $Query = mysql_query("SELECT * FROM poker_bruger WHERE username='". $Username ."' AND password='". $Password ."' LIMIT 1");
# Fandt vi en bruger? if(mysql_num_rows($Query)==1) { # Smider resultatet ind i et objekt $Row = mysql_fetch_object($Query);
# Smider brugernavnet og kodeordet ind i sessioner $_SESSION['Username'] = $Username; $_SESSION['Password'] = $Password;
# Man er logget ind header("location: tilmelding.php"); exit(); } else { header("location: login.php?fejl="); exit(); } }
hej ofirpeter Jeg kan se i din kode at du bruger md5 til password. Det har jeg også prøvet men det virker ikke for mig. Har du haft nogle problemer med det eller laver du noget om inden du tjekker i db. ??
jeg har prøvet alt tror jeg. men når jeg kører scriptet springer den altid til 2 mulighed "du er ikke logget ind"
da jeg så lavede hele lorte om til almindelig password virkede det perfekt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.