OyvindN Skrevet 1. februar 2004 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?
OyvindN Skrevet 1. februar 2004 Forfatter 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?
sven-o Skrevet 1. februar 2004 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".
OyvindN Skrevet 1. februar 2004 Forfatter Skrevet 1. februar 2004 Ok, det så ut som det fungerte. Takker.
FuLu Skrevet 1. februar 2004 Skrevet 1. februar 2004 Hvilken versjon av PHP kjører du? For det skal fungere å bruke unset($_SESSION['var'])
FuLu Skrevet 1. februar 2004 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?
OyvindN Skrevet 1. februar 2004 Forfatter 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
FuLu Skrevet 1. februar 2004 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
OyvindN Skrevet 1. februar 2004 Forfatter Skrevet 1. februar 2004 $_SESSION['valid_user'] er registrert den. Men hva er hensikten med $_SESSION = array() ?
FuLu Skrevet 1. februar 2004 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?
FuLu Skrevet 1. februar 2004 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
OyvindN Skrevet 1. februar 2004 Forfatter Skrevet 1. februar 2004 Prøvde uten session_destroy, men fikk samme melding. ['user'] var et eksempel ja, ikkeno feil der
sven-o Skrevet 1. februar 2004 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().
FuLu Skrevet 1. februar 2004 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
FuLu Skrevet 2. februar 2004 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
Torbjørn Skrevet 2. februar 2004 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
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å