Jump to content
Sign in to follow this  
Beethoven

Bruke funksjon til å sjekke innlogging etc. (Feil)

Recommended Posts

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.

Share this post


Link to post

Variabler følger ikke med inn i functions fra utsiden, så du må sende med $db_connection inn til function'n slik at den vet hvilken connection den skal bruke... hvis du fattet det?

Share this post


Link to post

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.

Edited by kakkle

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...