sessie variabele uitsluiten bij session_destroy

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Massimo W

Massimo W

08/06/2006 17:58:00
Quote Anchor link
Hallo,

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

PHP hulp

03/08/2020 22:42:31
 
Stefan

stefan

08/06/2006 18:00:00
Quote Anchor link
doe maar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
unset($_SESSION["test1"],$_SESSION["test2"],$_SESSION["test3"]);
[
/code]

en klaar is kees
 
Arjan Kapteijn

Arjan Kapteijn

08/06/2006 18:01:00
Quote Anchor link
Ideetje,

$temp = $_SESSION['user_name'];

session_destroy();

$_SESSION['user_name'] = $temp;
 
Frank -

Frank -

08/06/2006 18:12:00
Quote Anchor link
Je 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
    
?>


Resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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

)


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 -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.