Gå til innhold

Logg Inn Script.. Session..


Anbefalte innlegg

Holder på å legge ut et login script for meg(admin).

Men virker som om brukernavn å passord ikke vil bli lagret i SESSION.

Er det noen andre måter man kan lagre brukernavn å passord?

 

:hmm:

 

 

Funket å logge inn i går..

Men idag funker det ikke lengere..

Har ikke endret noe på scriptet.. :ermm:

 

Når man klikker logg inn blir bukernavn å pass lagret i session.

//Legger til brukernavn å passord i session
session_start();
$_SESSION['innlogget'] = 1;
$_SESSION['brukernavn'] = $_POST['brukernavn'];
$_SESSION['passord'] = $row['passord'];

 

Her skal man sjekke om du er logget inn eller ikke..

session_start();
if($_SESSION['brukernavn'] && $_SESSION['passord'])
{echo ("Du er logget inn.. bla bla..");}
else
{echo ("$rød Error! $end<br> Du må være logget inn.");}
?>

 

Men uansett om jeg skriver riktig brukernavn å passord, vil ikke brukernavn å passord bli lagt til session.. :hmm:

 

Prøvde å endre

{echo ("$rød Error! $end<br> Du må være logget inn.");}

til

{echo ("$rød Error! $end<br> Du må være logget inn.");
echo ($_SESSION['brukernavn']);}

 

men den ville ikke skrive ut brukernavnet..

Altså variblen var tom :cry:

Endret av Mellet
Lenke til kommentar
Videoannonse
Annonse

logginn.php

<h1>Logg Inn</h1>
<form action="?side=logginnaction" method="post">
<span class="style4">Brukernavn<br></span>
<input type="text" name="brukernavn" maxlenght="30"><br>
<span class="style4">Passord<br></span>
<input type="password" name="passord" maxlenght="30"><br>
<input type="submit" value="Logg inn">
</form>

 

logginnaction.php

<?php
if($_POST['brukernavn'] && $_POST['passord'])
{ include ("connect.php");

function sjekker_pw($oppgitt, $lagret)
{$salt = substr($lagret, 0, CRYPT_SALT_LENGTH);
$oppgitt_kryptert = crypt($oppgitt, $salt);
return($lagret == $oppgitt_kryptert);}

$brukernavn = @mysql_query("SELECT passord FROM brukere
WHERE brukernavn='{$_POST['brukernavn']}'");
if(@mysql_num_rows($brukernavn) == 0)
{
print("$rød Error! $end<br>Feil brukernavn.");
}
else
{

$row = @mysql_fetch_array($brukernavn);

if(!(sjekker_pw($_POST['passord'], $row['passord'])))
{
print("$rød Error! $end<br>Feil Passord.");
}
else
{

session_start();
$_SESSION['innlogget'] = 1;
$_SESSION['brukernavn'] = $_POST['brukernavn'];
$_SESSION['passord'] = $row['passord'];

echo ("<h1>Velkommen</h1>
     <a href=?side=innlogget>Admin Panel</a>");
}
}
}
else
{
print("$røc Error! $end<br>Du må fylle ut både brukernavn og passord!");
}
?>

 

 

innlogget.php

<?php
session_start();
if($_SESSION['brukernavn'] && $_SESSION['passord'])
{include("connect.php");

$henter_bruker = @mysql_query("SELECT id FROM brukere WHERE brukernavn='{$_SESSION['brukernavn']}'
AND passord='{$_SESSION['passord']}'");
if(@mysql_num_rows($henter_bruker) == 0)
{echo ("$rød Error! $end<br>Feil brukernavn og/eller passord!");}

else
{ echo("<h1>Administrasjon</h1><br>
      Velkommen Mellet.<br><br>
   $rød Meny: $end<br>
      <a href=?side=adminnyhet>Nyheter.</a><br>
   <a href=?side=admingbok>Gjestebok.</a><br>
   <a href=?side=adminmeg>Meg.</a>
   <a href=?side=adminlinker>Linker.</a>");
 mysql_close($connection);} }

else
{echo ("$rød Error! $end<br> Du må være logget inn.");}
?>

 

Der er PHP kodene til logg inn scriptet :yes:

 

Si ifra om dere finner noe feil der :thumbup:

 

Feilmeldingen jeg får er:

Error!

Du må være logget inn.

Endret av Mellet
Lenke til kommentar
Jeg ser en (to) feil i login-skjemaet ditt, men om de er avgjørende for hvorvidt problemet ditt oppstår, vet jeg ikke..

Du har skrevet: "maxlenght".

Det heter: "maxlength".

 

:)

japp..

Men tror ikke det er det som gjør at brukernavn å passord ikke vil blir lagret i seesion :p

Lenke til kommentar

Såvidt jeg forstår, så får du beskjed om at det er riktig passord når logginnaction.php sjekker det som er sendt.

 

Er ikke lett å se på koden og finne feilen, så jeg vil anbefale deg å ta en echo i ny og ne for å se hvor langt den kommer, og ev. hvor det ikke skjer det som skal skje.

Tror jeg hadde puttet en echo "bajs"; på linje 5 i innlogget.php feks.

Lenke til kommentar
Såvidt jeg forstår, så får du beskjed om at det er riktig passord når logginnaction.php sjekker det som er sendt.

 

Er ikke lett å se på koden og finne feilen, så jeg vil anbefale deg å ta en echo i ny og ne for å se hvor langt den kommer, og ev. hvor det ikke skjer det som skal skje.

Tror jeg hadde puttet en echo "bajs"; på linje 5 i innlogget.php feks.

Brukernavn å passord er riktig når det er $_POST['brukernavn']

 

Men ikke når det er $_SESSION['brukernavn']

 

Liksom brukernavnet å passordet blir ikke lagt til i session...

 

:hmm:

Lenke til kommentar
Er disse filen inkludert i en slags index fil av noe slag??

i såfall må vell session_start(); ligge absolutt først?

Ja, har en index side som jeg bruker et include script for å vise andre sider i..

Så jeg må altså skrive session_start(); i index fila ?..

 

 

Skal teste dette ;)

Takk for hjelpa.. *viss d funker* :p

Lenke til kommentar

Hmm.. Testert d men da skjedde dette:

 

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /mnt/home3/z/zo/zoot89/public_html/index.php:25) in /mnt/home3/z/zo/zoot89/public_html/index.php on line 117

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...