Jeg har lavet et lille login script i PHP. Når jeg indtaster et korrekt brugernavn og en korrekt adgangskode, kommer den med en fejl som var brugernavn/adgangskode forkert.
Scriptet kan I se her under:
<?php function quote_smart($value) { // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Quote hvis det ikke er et heltal if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; }
// Skab forbindelse til mysql servern og vælg database: $conn = mysql_connect(localhost,xx,xx) or die('Kunne ikke forbinde til MySQL serveren.'); mysql_select_db("firmwire_dk");
// Opbyg og udsted forespørgsel: $sql = sprintf("SELECT fullN FROM users WHERE userN=%s AND userP=%s", quote_smart($_POST['username']), quote_smart($_POST['password']));
$result = mysql_query($sql,$conn) or die('Der opstod en fejl.');
Det kan måske skyldes at du har placeret en session_start() i slutningen af dit dokument ;) - Den skal være i TOPPEN af dit dokument, ingen gang et mellemrum må komme først - kun et linieskift
session_start() skal stå før alt andet kode der ikke producerer output i browseren, ja, men det er ikke nødvendigvis i toppen. Jeg er dog enig i at det er en god måde at undgå dumme fejl på.
Ændrer jeg funktionen så den hedder: function quote_smart($value) { // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Quote hvis det ikke er et heltal if (!is_numeric($value)) { $value = mysql_real_escape_string($value); } return $value; }
Får jeg godtnok: echo $sql : SELECT fullN FROM users WHERE userN=username AND userP=password
Problemet er så bare det skulle være: SELECT fullN FROM users WHERE userN='username' AND userP='password'
Jeg har løst problemet nu. Det var noget med krypteringen af passwordet jeg havde glemt. Min fejl.
Hvis i lige opretter et svar, så fordeler jeg pointene fordi jeg har taget noget af jeres tid :)
Ellers tak for hjælpen.
Tommy.
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.