sessie variabele uitsluiten bij session_destroy
Massimo W
08/06/2006 17:58:00Hallo,
Weer even een korte vraag.
Ik hang een aantal waardes in een sessie. voorbeeld:
$_SESSION["user_name"] = "henk engel";
$_SESSION["test1"] = "test1";
$_SESSION["test2"] = "test2";
$_SESSION["test3"] = "test3";
nu wil ik graag alle sessies stoppen met session_destroy(), maar ik wil graag $_SESSION["user_name"] behouden.
Hoe kan ik dit het beste doen?
Alvast vriendelijk bedankt weer
Groetjes
Massimo
Weer even een korte vraag.
Ik hang een aantal waardes in een sessie. voorbeeld:
$_SESSION["user_name"] = "henk engel";
$_SESSION["test1"] = "test1";
$_SESSION["test2"] = "test2";
$_SESSION["test3"] = "test3";
nu wil ik graag alle sessies stoppen met session_destroy(), maar ik wil graag $_SESSION["user_name"] behouden.
Hoe kan ik dit het beste doen?
Alvast vriendelijk bedankt weer
Groetjes
Massimo
PHP hulp
25/11/2024 03:19:46stefan
08/06/2006 18:00:00doe maar
Code (php)
1
2
3
4
5
2
3
4
5
<?php
unset($_SESSION["test1"],$_SESSION["test2"],$_SESSION["test3"]);
[/code]
en klaar is kees
unset($_SESSION["test1"],$_SESSION["test2"],$_SESSION["test3"]);
[/code]
en klaar is kees
Arjan Kapteijn
08/06/2006 18:01:00Frank -
08/06/2006 18:12:00Je kunt de sessie ook gewoon leeg maken. Dat de key blijft bestaan is zelden een probleem. Leg een array aan met waardes die je wilt behouden, de rest maak je leeg. Hier een voorbeeldje met een array (in SESSION staat ook een array) die wordt leeggemaakt:
Resultaat:
Edit: unset() werkt eigenlijk veel fraaier, levert ook weer extra geheugenruimte op. Script dus even aangepast.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
error_reporting(E_ALL);
$keep = array('user_name'); // Array met sleutelnamen die je wilt bewaren
$var = array('user_name' => 'henk engel',
'test1' => 'test 1',
'test2' => 'test 2',
'test3' => 'test 3'); // ter vervanging van SESSION
print_r($var); // voor het opschonen
foreach ($var AS $key => $inhoud){
if (!in_array($key, $keep)) {
unset($var[$key]);
}
}
print_r($var); // na het opschonen
?>
error_reporting(E_ALL);
$keep = array('user_name'); // Array met sleutelnamen die je wilt bewaren
$var = array('user_name' => 'henk engel',
'test1' => 'test 1',
'test2' => 'test 2',
'test3' => 'test 3'); // ter vervanging van SESSION
print_r($var); // voor het opschonen
foreach ($var AS $key => $inhoud){
if (!in_array($key, $keep)) {
unset($var[$key]);
}
}
print_r($var); // na het opschonen
?>
Resultaat:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
Array
(
[user_name] => henk engel
[test1] => test 1
[test2] => test 2
[test3] => test 3
)
Array
(
[user_name] => henk engel
)
(
[user_name] => henk engel
[test1] => test 1
[test2] => test 2
[test3] => test 3
)
Array
(
[user_name] => henk engel
)
Edit: unset() werkt eigenlijk veel fraaier, levert ook weer extra geheugenruimte op. Script dus even aangepast.
Gewijzigd op 01/01/1970 01:00:00 door Frank -