[PHP] Problem z sprawdzaniem hasła w bazie danych :/

0

Mam taki oto kod który sprawdza i pobiera mi z bazy danych rekordy:


<?php
   
   ...

 function Query($q="")
 {
   if ($q!="")
    $this->result=mysql_query($q, $this->dbHandle);
 }

 var $dbHandle; #obiekt bezpośredniej obsługi bazy danych
 var $userId;   #id użytkownika
 var $userName; #nazwa użytkownika
 var $userPass; #hasło użytkownika

 function ReadUser()
 {
   $this->dbHandle->Query("SELECT * FROM users");
   $UserObj=mysql_fetch_row($this->dbHandle->result);
   $this->userId=$UserObj[0];
   $this->userName=$UserObj[1];
   $this->userPass=$UserObj[2];
   unset($UserObj);
 }

 function ChxUser($n, $p)
 {
   if(($this->userName==$n)&&($this->userPass==md5($p)))
   {
    return true;
   }
   else
  {
   return false;
   };
 }

Problem w tym że z mojej bazy sprawdzany jest tylko pierwszy rekord czy zgadza się login("name" w bazie) i hasło("pass" w bazie) a chciałbym żeby były sprawdzane wszystkie rekordy:

....
if (isset($_POST['login']) && isset($_POST['haslo'])) {
    # zmieniono $login i $haslo na odpowiednie indeksy tablicy superglobalnej $_PASS
    $login=$_POST['login']; 
    $haslo=$_POST['haslo'];   
    #oryginalny warunek zamieniony na warunek korzystający z bazy danych
    if ($User->ChxUser($login,$haslo)) {            #nowy warunek
        session_start();
        session_register("login");
        header("Location: secret.php?" . SID);
        exit();
    }
....

HTML:

...
<FORM method="POST" action="<?php echo basename($_SERVER['PHP_SELF']) ?>">
            Login: <INPUT type="text" name="login">
            Hasło: <INPUT type="password" name="haslo">
            <INPUT type="submit" value="Zaloguj się">
        </FORM>
...

Moja baza:

id     name         pass
0      nick1         haslo1
1      nick2         haslo2
2      nick3         haslo3
...

Z góry dzięki wszystkim za wszelką pomoc :)

0

Zrzuć sprawdzanie loginu i hasła na bazę ( wykonaj to w zapytaniu )

1 użytkowników online, w tym zalogowanych: 0, gości: 1