Gå til innhold

Innlogging side


Anbefalte innlegg

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
Videoannonse
Annonse

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...