webForumDet fria alternativet

Autoinloggning

6 svar · 527 visningar · startad av ahassis

ahassisMedlem sedan juni 200237 inlägg
#1

Hejsan!
Jag har nu sökt igenom hela webforum och även phportalen, inte hittat något fel som stämmer med mitt.

Problem:
Jag kör en autoinloggning på min sida. Kör först en inloggning som ser ut så här:

        // Lite cookies
        setcookie ("cookie","true", time()+99999);
        setcookie ("uid",$r['id'], time()+99999);
        setcookie ("pwd",md5($r['password']), time()+99999);

Alltså, detta är bara den väsentliga delen.

Och sedan kör jag på min index.php sida så här:

if (isset($_COOKIE['cookie'])) {
        $query = mysql_query("SELECT * from members where id = '".$_COOKIE['uid']."'");
        $r = mysql_fetch_array($query);
        // Stämmer lösenordet?
        if (md5($r['password']) == $_COOKIE['pwd']) {

        // Skapar lite sessions
        $_SESSION['status'] = "online";
        $_SESSION['uid'] = $r['id'];
        $_SESSION['id'] = $r['id'];
        $_SESSION['username'] = $r['username'];
        $_SESSION['mail'] = $r['mail'];
        $_SESSION['namn'] = $r['namn'];
        if ($r['admin'] == "true") {
                $_SESSION['admin'] = "true";
                session_register("admin");
        }

        }

Alltså, cookien skapas och finns kvar. Men när jag sedan stänger ner webbläsaren och kollar om cookien finns kvar, då finns den fortfarande kvar och innehåller den informationen jag vill att det ska innehålla. MEN när jag går in på sidan igen, alltså efter jag stängt ner webbläsaren, då helt plötsligt: Försvinner kakan!
Borta!
Och därför går det inte att autoinlogga sig.

Någon som har en idè om hur jag ska göra?
Helt borta....
Tack på förhand

pimmeMedlem sedan sep. 2001553 inlägg
#2

du kan inte komma åt cookie-värdena på samma sida som du sätter dem på. och när du sätter nya när personen besöker sidan igen så skrivs de gamla över och de nya kan inte användas förrän på nästa sida...
dvs, du får kolla om cookies är satt innan du sätter nya...

ahassisMedlem sedan juni 200237 inlägg
#3

alltså, jag sätter ju cookiena på min sida logon.php och sedan så vill jag komma åt dem på index.php, så jag gör inte så som du säger =/ vad menar du med att kolla cookies är satt innan du sätter nya?

rIkLuNdMedlem sedan feb. 2003174 inlägg
#4
if(!empty($_COOKIE['namn']))...
ahassisMedlem sedan juni 200237 inlägg
#5

jomen alltså, när ska jag kolla det? eftersom jag aldrig kör logon.php mer än en gång, för om man är inloggad redan så visas aldrig logon.php, så därför kan inte cookiena skriva över varandra =/
men jag förstår inte varför själva cookiefilen på datorn försvinner när man går in på webbsidan igen?

rIkLuNdMedlem sedan feb. 2003174 inlägg
#6

ligger filen som du sätter cookien i och index.php i samma mapp??

ahassisMedlem sedan juni 200237 inlägg
#7

japp, eller alltså, jag kör med ett includesystem som blir så här:
en länk blir
<a href="./?page=sida">Sida</a>

Och ja, filerna ligger i samma mapp.

Genererad på 390 ms · cache AV · v20260730165559-full.f96bc7eb