OyvindN Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Jeg skal avslutte en session-variabel: $_SESSION['user']. Men unset($_SESSION['user']) gir denne meldingen: Parse error: parse error, unexpected T_UNSET Hva gjør jeg? Lenke til kommentar
sven-o Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Har du prøvd session_unregister('user')? Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 Siden jeg brukte $_SESSION, brukte jeg ikke session_register(), så derfor heller ikke session_unregister(). Men kanskje ikke det har noe å si? Lenke til kommentar
sven-o Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Prøv det først du, så kan vi se på en annen løsning dersom det ikke fungerer. Tror ikke det har noe å si. Det finnes jo bare én server-session per klient, og jeg vil tro alle funksjoner som påvirker session variabler ikke bryr seg om hvordan de "havnet der". Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 Ok, det så ut som det fungerte. Takker. Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Hvilken versjon av PHP kjører du? For det skal fungere å bruke unset($_SESSION['var']) Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 Bruker versjon 4.3.3 Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Kan du poste koden, kanskje det er et eller annet feil der, kanskje du prøver å unset'e noe som ikke er blitt satt? Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 session_start(); $old_user = $_SESSION['valid_user']; $result = unset($_SESSION['valid_user']); session_destroy(); if(!empty($old_user)) { if ($result) { echo "Logged out."; } else { echo "Could not log you out."; } } else { echo "You were not logged in, and so have not been logged out."; } Melding: Parse error: parse error, unexpected T_UNSET in m:\webting\logout.php on line 4 Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 (endret) Kanskje sjekke om $_SESSION['valid_user'] er registrert før du unset'er? Men siden du skal kjøre session_destroy() etterpå, kan du likegreit skrive: session_start(); $old_user = $_SESSION['valid_user']; $_SESSION = array(); session_destroy(); Endret 1. februar 2004 av FuLu Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 $_SESSION['valid_user'] er registrert den. Men hva er hensikten med $_SESSION = array() ? Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Siden du skal kjøre session_destroy, så kan du likegreit tømme hele $_SESSION for data? Derfor jeg brukte = array(), siden $_SESSION er et array og dette vil sette den som et tomt array. (Men ja, det løser jo ikke problemet med hvorfor unset ikke fungerer) Har sikkert ikke noe å si, men du har vel registert med $_SESSION['valid_user'] = etellerannet, et annet sted? Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 Ja det har jeg. Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 (endret) Hmm, prøvd å ikke bruke session_destroy? (Akuratt nå så spyr jeg ut tanker i blinde ) La merke til på trådstarten din, at du skrev ['user'] som eksempel, mulig dette bare var eksempel fra din side.. men du er 100% på at du bruker riktig navn? (Debugging er et "¤% ) Endret 1. februar 2004 av FuLu Lenke til kommentar
OyvindN Skrevet 1. februar 2004 Forfatter Del Skrevet 1. februar 2004 Prøvde uten session_destroy, men fikk samme melding. ['user'] var et eksempel ja, ikkeno feil der Lenke til kommentar
sven-o Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 Rettelse fra mine tidligere påståelser: Caution If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister(). Lenke til kommentar
FuLu Skrevet 1. februar 2004 Del Skrevet 1. februar 2004 "#¤%"#¤% at jeg ikke har lagt sett det før nå! Hvorfor i svarte har du $result = unset... ? unset returnerer ikke noe, den er void unset(), fjern $result = umiddelbart! Koden skal være slik: session_start(); $old_user = $_SESSION['valid_user']; unset($_SESSION['valid_user']); session_destroy(); Resten av koden får du finne ut selv Lenke til kommentar
Torbjørn Skrevet 2. februar 2004 Del Skrevet 2. februar 2004 det skal vel likevel ikke gi parse error? Lenke til kommentar
FuLu Skrevet 2. februar 2004 Del Skrevet 2. februar 2004 det skal vel likevel ikke gi parse error? Hvis du tester koden selv, så ser du at den faktisk gjør det Lenke til kommentar
Torbjørn Skrevet 2. februar 2004 Del Skrevet 2. februar 2004 (endret) du har helt rett. merksnodig. EDIT: Fra manualen: In PHP 4, however, unset() is no longer a true function: it is now a statement. As such no value is returned, and attempting to take the value of unset() results in a parse error. Endret 2. februar 2004 av Torbjørn 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å