Gå til innhold

Bruke funksjon til å sjekke innlogging etc. (Feil)


Anbefalte innlegg

Hei. Driver å øver på å bruke klasser, kanskje det også kunne gjøre arbeidet mitt lettere tenkte jeg. Men... det er vist mer bare problemer:

 

Her er klassen:

 

<?php

class MySQL_users {

       function Auth($mode, $username = NULL, $password = NULL) {

               if ($mode = 0) {

                       $password = sha1($password);

                       $query = mysql_query("SELECT * FROM `" . TABLES . "users`
                       WHERE
                       `username` = '$username' AND
                       `password` = '$password'");
                       
                       if (mysql_num_rows($query) == 1) return TRUE;
                       else return FALSE;
               }

               else {

                       if ($_SESSION['session_ip'] == $_SERVER['REMOTE_ADDR']) {

                               $query = mysql_query("SELECT * FROM `" . TABLES . "users`
                               WHERE
                               `username` = '" . $_SESSION['session_username'] . "' AND
                               `password` = '" . $_SESSION['session_password'] . "' AND
                               `userlevel` = '" . $_SESSION['session_rank'] . "'");
                               
                               if (mysql_num_rows($query) == 1) return TRUE;
                               else return FALSE;

                       } else return FALSE;

               }

       } // Auth()
}

?>

 

Og når jeg f. eks skal sjekke om brukernavn og passord stemmer for at jeg skal kunne logga ham inn så er jo det seff. feil. Slik kjører jeg funksjonen:

 

if ($MySQL_users->Auth(0, $username, $password)) {

 

Jeg får bare beskjed om at passord eller brukernavn er feil. Jeg connecta til MySQL og jeg VET at det stemmer med det som står i databasen.

 

Noen som ser at det er noe som ikke helt stemmer, hva gjør jeg galt? Takk.

Lenke til kommentar
Videoannonse
Annonse

Du må bruke 2 likhetstegn i den første if setningen (if($mode == 0)), ihvertfall... ;)

 

Også lurer jeg litt på den TABLES . Hvor kommer den fra ? Har du definert den en plass ?

 

EDIT: Og som alltid, test om spørringen gikk ok, hvis ikke, skriv ut query, samt feilmelding fra mysql.

Endret av kakkle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...