Avatar billede mccookie Seniormester
04. marts 2004 - 14:46 Der er 5 kommentarer og
1 løsning

SESSION unset, destoy, tidsbestemt mv.

Hejsa

Jeg roder lidt med noget SESSION

Jeg ville lige i denne anledning hører til et par spm:

1)
På et tidspunkt vil jeg gerne fjerne værdierne fra de fleste af mine SESSIONS, men hvordan gør jeg det uden at slette de resterende ?

2)
Kan man sætte en tid på en session så den kun gælder i 10 min hvis brugeren ikke bruger computeren eller tilsvarende?
Ment på den måde at hvis brugeren ikke logger ud, så slettes den pågældende sessions!

3)
Hvad er forskellen på destoy og unset?

mvh.
Henning
Avatar billede tefcke Nybegynder
04. marts 2004 - 16:06 #1
1 og delvist 3:
Du bruger unset() til at slette en del af dit $_SESSION array.

session_destroy() sletter hele sessionen (inkl. brugerens session id), hvor unset kun sletter i $_SESSION arrayt, hvilket ikke påvirker brugerens session id.

Så hvis du skal have fjernet nogen værdier fra din session, så bruge unset() hvis du skal have fjernet hele sessionen, så brug session destroy(). Hvis du skal have nulstillet sessionen, uden at ændre brugerens session id, så brug:
$_SESSION = array();
Avatar billede mccookie Seniormester
04. marts 2004 - 16:13 #2
Hvad med tiden??
Avatar billede tefcke Nybegynder
04. marts 2004 - 16:54 #3
Session holder jo lige så lang tid som en bruger har sin browser åben, så du kan nok ikke direkte påvirke hvornår session skal slettes.

Du kan dog hver gang brugeren fortager sig noget på din side, lave et lille tjek hvornår brugeren sidst fortog sig noget på din side. Hvis det er over X antal min. siden, så kalder du session_destroy() inden du udfører handlingen!
Avatar billede mccookie Seniormester
04. marts 2004 - 18:08 #4
jeg har måske disse 3 sesions

user=1
titel=Direktør
uge=4

Og jeg så gerne vil lave unset på titel og uge hvordan gør jeg så det?
Avatar billede tefcke Nybegynder
04. marts 2004 - 19:04 #5
Du kan altid se hvordan dit session array ser ud med:
echo "<pre>;
var_dump($_SESSION);
echo "<pre>;

Hvis du har følgende:
$_SESSION['user'] = 1;
$_SESSION['titel'] = 'Direktør';
$_SESSION['uge'] = 4;

Så kan du slette titel med:
unset($_SESSION['titel']);

Hvis nu der ligger et array på et index i $_SESSION, så sletter den hele arrayet:
$_SESSION['user']['id'] = 5;
$_SESSION['user']['name'] = 'SomeName'
$_SESSION['user']['title'] = 'SomeTitel';
$_SESSION['user']['level'] = 5;

unset($_SESSION['user']); vil så fjerne alt hvad der ligger under ['user']
Avatar billede mccookie Seniormester
29. marts 2004 - 23:07 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester