Jonhoo Skrevet 24. april 2007 Del Skrevet 24. april 2007 (endret) 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 25. april 2007 av Jonhoo Lenke til kommentar
Runar0 Skrevet 24. april 2007 Del Skrevet 24. april 2007 (endret) 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 24. april 2007 av Shadows0 Lenke til kommentar
Jonhoo Skrevet 25. april 2007 Forfatter Del Skrevet 25. april 2007 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
Runar0 Skrevet 25. april 2007 Del Skrevet 25. april 2007 Kan du legge ved koden i sin heilheit? Litt lettare og sjå kva som kan vere gale da. Lenke til kommentar
Jonhoo Skrevet 25. april 2007 Forfatter Del Skrevet 25. april 2007 Hele kildekoden kan dere se her: http://jon.thesquareplanet.com/sessions/ =) Lenke til kommentar
Jonhoo Skrevet 25. april 2007 Forfatter Del Skrevet 25. april 2007 (endret) 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 25. april 2007 av Jonhoo Lenke til kommentar
Jonhoo Skrevet 25. april 2007 Forfatter Del Skrevet 25. april 2007 Da har jeg "løst" det... Hvis jeg bytter ut $_SESSION = array_merge($_SESSION, $userinfo); med å legge inn hver av variablene for seg så fungerer det... Bug i PHP5? Lenke til kommentar
Hayer Skrevet 25. april 2007 Del Skrevet 25. april 2007 Mener man kan slå av sessions i php.ini, men hvis dette går ann har du vel sjekket det? Lenke til kommentar
Jonhoo Skrevet 26. april 2007 Forfatter Del Skrevet 26. april 2007 Sessions er på ja, ellers ville jo ikke det andre funket Lenke til kommentar
The_Lozer Skrevet 27. april 2007 Del Skrevet 27. april 2007 Sessions er på ja, ellers ville jo ikke det andre funket 8479602[/snapback] det er et godt poeng 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å