Avatar billede themaster Nybegynder
20. marts 2004 - 23:39 Der er 3 kommentarer og
1 løsning

Loginscript vil ikke tjekke alle brugernavne i db

Hej Exp's

Jeg har dette script der gerne skulle logge en bruger in på min side. Men jeg har opdaget at den ikke løber hele databasen igennem, men kun vil logge ind med den første record.

Her er sourcen:

<?php
$mode = $_GET["mode"];
if ($mode=="login") {
  $nick = $_REQUEST["nick"];
  $pwd = $_REQUEST["pwd"];   
    $server = "*********";
    $conn = mysql_connect($server, "********", "******");
    mysql_select_db("visionportalen_bruger");
    $result = mysql_query("select * from bruger");
    while ($row = mysql_fetch_array($result)) {
      if ($row["nick"]==$nick && $row["pwd"]==$pwd) {
    $tal1 = mt_rand(5000000000000, 1000000000000000000000);
    $tal2 = mt_rand(1000000, 100000000000000);
        $key = mt_rand($tal1*pi(), pow($tal2, $tal1));
    setcookie(log, $key);
    header("Location: login.php?mode=update&nick=$nick");
        } else {
      }
    }
  mysql_close($conn);
}
?>

men hvad skal der til for at den løber hele vejen gennem databasen og tjekker alle brugernavne og pwd's??
Avatar billede fangel Nybegynder
20. marts 2004 - 23:56 #1
Jeg kan ikke se nogen åbenlys grund til at den skulle fejle, har lige prøvet at rydte lidt op i din kode (fjernet en blank else{ } clause) og sat ordenlig ident på... prøv lige med denne

<?php
$mode = $_GET["mode"];
if ($mode=="login") {
  $nick = $_REQUEST["nick"];
  $pwd = $_REQUEST["pwd"]; 
  $server = "*********";

  $conn = mysql_connect($server, "********", "******");
  mysql_select_db("visionportalen_bruger", $conn);
 
  $result = mysql_query("SELECT * FROM bruger");
  while ($row = mysql_fetch_array($result)) {
    if ($row["nick"]==$nick && $row["pwd"]==$pwd) {
      $tal1 = mt_rand(5000000000000, 1000000000000000000000);
      $tal2 = mt_rand(1000000, 100000000000000);
      $key = mt_rand($tal1*pi(), pow($tal2, $tal1));

      setcookie('log', $key);
      header("Location: login.php?mode=update&nick=$nick");
    }
  }
  mysql_close($conn);
}
?>

Morten
Avatar billede themaster Nybegynder
21. marts 2004 - 00:43 #2
jeg har fået det til at virke....thx 4 help...læg lige et svar
Avatar billede fangel Nybegynder
21. marts 2004 - 08:20 #3
svaa'r
Avatar billede dennismp Nybegynder
21. marts 2004 - 10:18 #4
Hvorfor bruger du ikke uniqid() istedet for alle de beregninger?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester