03. november 2004 - 09:28Der er
19 kommentarer og 1 løsning
Hjælp til if sætning der opføre dig mærkeligt
Jeg er igang med at lave en side med log ind og sådan..
Og når jeg logger KORREKT ind virker det fint, MEN skriver jeg forkert står siden bare stille..
Skriver lige min kode..
$query = mysql_query("SELECT * FROM login WHERE brugernavn = '".$login."' AND kodeord = '".$pass."'");
while ($row = mysql_fetch_array($query)) { if ($row['brugernavn'] == $login AND $row['kodeord'] == $pass) { $_SESSION['logged'] = "yes"; ?> <script language="javascript">location.href='index.php'</script> <?PHP } else { ?> <script language="javascript">location.href='../index.php?do=adminlog'</script> <?PHP } }
Den går fint ind i IF delen HVIS man skriver det korrekte bruger og pass... MEN skriver man forkert, så dør siden, står stille og INTET sker... Har prøvet at skrive echo "hej";ind i min else sætning men heller ikke dette bliver udskrevet..¨
For som du gør nu, laver du en forespørgsel på noget, der ikke har en værdi. Altså $row['brugernavn'] har ingen værdi, medmindre pass etc. er rigtigt...
du skal vel bare fortælle den at hvis ikke brugernavnet og koden er korrekt så skal den gå til en "hovsa du har ikke skrevet de rigtige informationer" side.... ?? har jeg ikke ret ??
Lav en tegning over din programmering... det hjælper rigtig meget og gør chancen for fejl mindre..
Du har helt ret. mysql_num_rows returnerer antallet af rækker, der opfylder dine søgekriterier, og derfor vil den kun gå videre, hvis der er en bruger med det rigtige login og pass.
COUNT() vil sådan set gøre det samme, og kan have sine fordele (måske her) overfor mysql_num_rows, men begge dele vil virke.
Jeg tillader mig at lave det et svar, for du siger vist at mit lykkedes for dig :)
Du burde nok lave om, så du ikke har noget output inden din header() istedet
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.