Gå til innhold

Sessions fungerer ikke!


Anbefalte innlegg

Heisann folkens =)

 

Har drevet med PHP i en del år nå, men har plutselig støtt på et problem..

Jeg skulle vise en kompis av meg litt PHP og spesielt bruk av sessions, og slang da opp følgende kode:

 

http://jon.thesquareplanet.com/sessions/

 

Problemet er at denne siden ikke funker! Jeg får logget inn, og da står det "User admin is logged in", men hvis jeg trykker på update linken så "tømmes" sessionen og jeg får "User is logged out".. Jeg beholder samme session ID, men alle variablene jeg setter i $_SESSION slettes :S

 

Har også sjekket der hvor PHP lagrer sessionfilene sine, og min sessionfil er helt tom, selv før jeg trykker på Update page... Virker som om PHP ikke får lagret sessionen i det hele tatt.. Sessionene funker derimot helt fint i for eksempel phpmyadmin som jeg har på samme server...

 

Noen ideer?

 

BTW: Ingen errorer i error log...

Endret av Jonhoo
Lenke til kommentar
Videoannonse
Annonse

Du bruker denne koden for å skrive ut om brukeren er inne:

 

PHP

<?php

echo "User is ".($isLoggedIn 'logged in as '.$_SESSION['username'

'logged out').'<br />';

?>

 

Variabelen $isLoggedIn setter du til true i login funksjonen. Så dermed kommer det opp at brukeren er logget inn når du trykker submit. Men vist du refresher så blir ikkje login funksjonen brukt og dermed blir ikkje $isLoggedIn sat sjølv om brukeren er inne.

Endret av Shadows0
Lenke til kommentar

Heh, sorry, glemte å nevne det... I "fullversjonen" av scriptet så ligger det et script som sjekker user credentials på alle sider, og setter $isLoggedIn til True hvis de er godkjente.

Har prøvd også å bare legge til print_r($_SESSION) nederst i dokumentet, men den printer tomt etter man trykker update... =(

Lenke til kommentar

Hmm.. Prøvde å lage en annen side nå med følgende kode:

<?php
session_name("bsid");
session_start();
echo '$_SESSION[\'beenhere\'] is '.(isset($_SESSION['beenhere']) && $_SESSION['beenhere'] ? 'on as '.$_SESSION['beenhere'] : 'off').'<br />';
$_SESSION['beenhere'] = 'Page1_'.rand();
echo 'Now setting it again to this: '.$_SESSION['beenhere'];

?>

Og den fungerer helt fint...

Kan tilogmed lese av verdien av 'beenhere' på fra login.php... Alt annet slettes derimot.. =(

 

EDIT:

Har funnet ut at dersom jeg kommenterer vekk linjen

$_SESSION = array_merge($_SESSION, $userinfo);

så funker alt det andre...

Endret av Jonhoo
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...