//Søger for, at man ikke kan bruge SQL injections $Username = preg_replace("#[^a-zA-Z0-9-_\.]#", "", $username);
$result = $connector->query("SELECT * FROM users WHERE username='. $username .' AND password='. $password .'");
$row = mysql_fetch_object($result);
//Tjekker om der var nogen der passede til vores forespørgsel if(!empty($row) && $row->password == $password && $row->username == $username) {
//Smider brugernavnet og kodeordet ind i sessioner $_SESSION['Username'] = $Username; $_SESSION['Password'] = $Password;
//Så er man logget ind. return true;
} else {
//Smider en javascript alert til brugeren der siger, at han ikke loggede korrekt ind. echo "<script language=\"javascript\" type=\"text/javascript\">alert('Dine loginoplysninger passede ikke sammen.'); </script>";
return false; }
} } ?>
Det retunere:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\felderbal\modules\login.php on line 66
Din fejl kommer ikke på grund af fejl i mysql_fetch_object, men oftest pga fejl i sql-sætningen. Din $connector fidus burde have fortalt dig det på en måde.
Lige en sidenote: Det hjælper ikke at du beskytter din $username imod sql-injection hvis du ikek gør det samme for $password. I øvrigt ville jeg foretrække at bruge mysql_real_escape_string() til dette formål.
Oki, men husk nu også lige de meget relevante kommentare der har været omkring beskyttelse imod SQL-injection.
... og et svar :^)
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.