Mijn sessie-variabelen worden niet opgeslagen

Gebruik session_register () en $_SESSION constructies niet door elkaar.

Session_register()

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
session_start ();
session_register ( 'blaat' );

if ( !session_registered ( 'blaat' ) ) {
   $blaat = "Blaat";
}
else {
   echo 'Blaat was reeds gedefinieerd: ' . $blaat;
}

?>


$_SESSION
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
session_start ();

if ( !isset ( $_SESSION [ 'blaat' ] ) ) {
   $_SESSION [ 'blaat' ] = 'Blaat';
}
else {
   echo 'Blaat was reeds gedefinieerd: ' . $_SESSION [ 'blaat' ];
}

?>

Als je beide constructies door elkaar gebruikt, werkt het niet. As simple as that. :)

Sterker nog: sinds register_globals default uit staat, is het gebruik van session_register deprecated:

Quote:
Caution

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

« Lees de omschrijving en reacties

 
 

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.