Beethoven 0 Report post Posted December 17, 2005 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. Quote Share this post Link to post
Mobsan 0 Report post Posted December 17, 2005 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? Quote Share this post Link to post
Beethoven 0 Report post Posted December 17, 2005 (edited) Det er ser ikke ut til å være svaret... Får ingen feil. Men jeg får ikke logga inn. Edited December 17, 2005 by Beethoven Quote Share this post Link to post
kakkle 0 Report post Posted December 17, 2005 (edited) 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 December 17, 2005 by kakkle Quote Share this post Link to post
knuto 0 Report post Posted December 19, 2005 Ingen ting er betre enn PEAR sin klasse for adgangskontroll Quote Share this post Link to post