FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej!
Jag har hållt på mycket med CMS-lösningar och försöker nu lära mig php från grunden och behöver lite hjälp på vägen Allt som allt, det här är en inloggningsfunktion. Jag försöker infoga ett skydd mot sql-injection med hjälp av mysql_real_escape_string. Någonstans på vägen blir det fel. Jag har sökt hjälp om detta och provade då att sätta värdet för magic_quotes_gpc till off, men även det utan resultat. Det som händer är att när jag matar in rätt uppgifter i formuläret och skickar det till sidan som innehåller koden jag infogar i detta inlägg. Kommer jag till den avdelning som säger att "användaren finns inte" Någon som orkar hjälpa mig då jag inte vill bli mer flintskallig än jag redan är... Kod: <?php session_start(); $username = $_POST['username']; $password = $_POST['password']; if ($username&&$password) { $link = mysql_connect('localhost', 'username', 'password') OR die(mysql_error()); mysql_select_db("db") or die ("kan ej finna db"); // Query $query = sprintf("SELECT * FROM admuser WHERE username='%s' AND password='%s'", mysql_real_escape_string($username), mysql_real_escape_string($password)); if ($numrows!=0) { while ($row = mysql_fetch_assoc($query)) { $dbusername = $row['username']; $dbpassword = $row['password']; } if ($username==$dbusername&&$password==$dbpassword) { echo "Inloggad <a href='member.php'>Klicka här för att komma till medlemssidorna!</a>"; $_SESSION['username']=$username; } else echo "Fel användarnamn eller lösenord"; } else die("Användaren finns inte!"); } else die("Fyll i samtliga uppgifter som krävs för att kunna logga in. Dvs. Både användarnamn och lösenord"); ?> Varma hälsningar Jonas |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Glömde du redovisa var du deklarerar $numrows?
Enklaste lösningen utifrån din kod borde vara detta: $query = mysql_query(sprintf("SELECT * FROM admuser WHERE username='%s' AND password='%s'", mysql_real_escape_string($username), mysql_real_escape_string($password))); if($query && mysql_num_rows($query) > 0) { while ($row = mysql_fetch_assoc($query)) osv. |
||
![]() |
![]() |
Svara |
|
|