frankst Skrevet 18. mars 2003 Del Skrevet 18. mars 2003 Har laget meg en loginside og en side for å registrere brukere. Dette virker som det skal. Men når jeg legger inn brukere i php Myadmin så virker ikke login siden. Feilmeldingen bli: Feil passord Noen som vet hvordan jeg kan forandre på dette? Siden som sjekker brukernavn og passord samt krypterer passordet er som følger: <?php if($_POST['brukernavn'] && $_POST['passord']) { //Logger på databasen. Legg inn din egen info $hostname = "xxx"; $user = "xxx"; $password = "xxx"; $db = "xxx"; $connection = @mysql_connect($hostname, $user, $password) or die("Umulig å få kontakt med database"); @mysql_select_db($db); //Lager krypteringsfunksjonen function sjekker_pw($oppgitt, $lagret) { $salt = substr($lagret, 0, CRYPT_SALT_LENGTH); $oppgitt_kryptert = crypt($oppgitt, $salt); return($lagret == $oppgitt_kryptert); } //Sjekker brukernavn $sjekker_brukernavn = @mysql_query("SELECT brukerid,passord FROM brukere WHERE brukernavn='{$_POST['brukernavn']}'"); if(@mysql_num_rows($sjekker_brukernavn) == 0) { print("Feil brukernavn"); } else { //Får det krypterte passordet fra databasen $hentet_passord = @mysql_fetch_array($sjekker_brukernavn); //Sjekker om brukernavn og passord er likt if(!($sjekker_brukernavn($_POST['passord'], $hentet_passord['passord']))) { print("Passordet var feil"); } else { //Lagrer passord og brukernavn i sessions session_start(); $_SESSION['innlogget'] = 1; $_SESSION['brukernavn'] = $brukernavn; $_SESSION['passord'] = $hentet_passord['passord']; //Sender brukeren videre til neste side header("Location: innlogget.php"); } } } else { print("Du må fylle ut både brukernavn og passord!"); } ?> Lenke til kommentar
kilogram Skrevet 18. mars 2003 Del Skrevet 18. mars 2003 Variablane du bruker for å logge på MySQL overskriv dei variablane som vert gitt inn til skriptet. Dersom register_globals er slått på i PHP.INI, vil endringar i $passord-variablen og påvirke $HTTP_POST_VARS['passord'], sidan dette i teorien er ein og same variabel. Variablane som har noko med MySQL å gjere kallar du difor $mysql_passord, $mysql_bruker, osv. i staden. Då bør ting virke... Tillegg: Det same gjeld $_SESSION. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå