20. august 2004 - 21:36Der er
3 kommentarer og 1 løsning
PHP skal kontrollere om et brugernavn findes i en database
Hej (igen)
Jeg har prøvet at lave et stykke kode, der skal kontrollere om brugernavnet findes i en database, men jeg får en fejlmeddelelse når jeg kører det. Koden ser sådan ud:
//Kontroller om brugernavn findes og udfør loginproces i så tilfælde $resultatset=mysql_query('SELECT user FROM 1y_brugere WHERE user=\''.mysql_escape_string($user).'\' LIMIT 1'); if(mysql_num_rows($resultatset)) { list($user_fra_database)=mysql_fetch_row($resultatset); $pass_from_db = mysql_result(mysql_query("SELECT pass FROM 1y_brugere WHERE user='$user'"),0) or die(mysql_error()); if ($pass_from_db == $pass) { $_SESSION['bruger'] = $user; print "Du er nu logget ind!<br>"; print "<a href=\"index.php\">Klik her for at komme tilbage til forsiden</a>"; } else { print "Dit password er forkert!"; print "<br><a href=\"login.php\">Prøv igen</a>"; }; } else { print "Du har skrevet forkert brugernavn!"; print "<br><a href=\"login.php\">Prøv igen</a>"; exit; };
der står at fejlen er et uventet '$' på linje 42, men da linje 42 kun indeholder '?>' er det jo nok et andet sted. Nogle der kan bistå med hjælp?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Slettet bruger
20. august 2004 - 21:51#1
Nu er der jo ikke 42 linier her, og jeg ser ingen fejl i den kode du viser. Kom med noget mere...
//Get values from form $user = $_REQUEST['user']; $pass = $_REQUEST['pass'];
//Connect to MySQL db $db = mysql_connect('$mysql_host', '$mysql_user', '$mysql_pass') or die(mysql_error()); mysql_select_db('$mysql_db', $db) or die(mysql_error());
//Check if form is filled and if, check user in db if (!$user && !$pass) { include('login_form.php'); } elseif (!$user && $pass || $user && !$pass) { print "Du skal skrive både brugernavn og password"; print "<br><a href=\"login.php\">Prøv igen</a>"; } else { $pass = md5($pass); //Kontroller om brugernavn findes og udfør loginproces i så tilfælde $resultatset=mysql_query('SELECT user FROM 1y_brugere WHERE user=\''.mysql_escape_string($user).'\' LIMIT 1'); if(mysql_num_rows($resultatset)) { list($user_fra_database)=mysql_fetch_row($resultatset); $pass_from_db = mysql_result(mysql_query("SELECT pass FROM 1y_brugere WHERE user='$user'"),0) or die(mysql_error()); if ($pass_from_db == $pass) { $_SESSION['bruger'] = $user; print "Du er nu logget ind!<br>"; print "<a href=\"index.php\">Klik her for at komme tilbage til forsiden</a>"; } else { print "Dit password er forkert!"; print "<br><a href=\"login.php\">Prøv igen</a>"; }; } else { print "Du har skrevet forkert brugernavn!"; print "<br><a href=\"login.php\">Prøv igen</a>"; exit; }; ?>
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.