Constantes pré-définies <<< |
Exemples | Passer l'identifiant de session (session ID) >>> |
6.34 Sessions 6 Référence des fonctions Manuel PHP . Introduction . Sessions et sécurité . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies ->Exemples . Passer l'identifiant de session (session ID) . Gestion personnalisée des sessions . session_cache_expire . session_cache_limiter . session_commit . session_decode . session_destroy . session_encode . session_get_cookie_params . session_id . session_is_registered . session_module_name . session_name . session_regenerate_id . session_register . session_save_path . session_set_cookie_params . session_set_save_handler . session_start . session_unregister . session_unset . session_write_close |
6.34.8 Exemples
Si track_vars est activé et register_globals est désactivé, seuls les éléments du tableau global $_SESSION contiendront les variables enregistrées dans la session. Les variables de sessions relues seront uniquement disponibles dans $_SESSION . L'utilisation de $_SESSION (ou $HTTP_SESSION_VARS avec PHP 4.0.6 et plus ancien) est recommandé pour une meilleure sécurité et un code plus facilement entretenu. Avec $_SESSION , il n'y a pas besoin d'utiliser les fonctions session_register , session_unregister et session_is_registered . Les variables de sessions sont accessibles comme toute autre variable.
Si register_globals est activé, alors toutes les variables globales peuvent être enregistrées comme variables de session, et toutes les variables de sessions seront reconstituées comme variables globales. Comme PHP doit savoir quels variables globales sont enregistrées comme variables de sessions, l'utilisateur doit enregistrer les variables avec session_register tandis que $HTTP_SESSION_VARS et $_SESSION ne nécessitent pas session_register .
Si register_globals est activé, alors les variables globales et les entrées dans le tableau $_SESSION seront des références sur la même valeur pour les valeurs qui auront été enregistrées avant le démarrage de la session (donc, dans les page précédentes). Cependant, si la variable a été enregistrée avec $_SESSION , alors, la variable globale est disponible jusqu'à la prochaine requête. De plus, si vous enregistrez une nouvelle variable avec la fonction session_register , l'entrée dans l'environnement global et $_SESSION ne fera pas de référence vers la même valeur jusqu'à la prochaine utilisation de session_start (ceci s'applique à PHP 4.2 et avant seulement). C'est à dire qu'une modification dans les variables globales ne sera pas répercutée dans les entrées de $_SESSION . Il est peu probable que cela ait un impact en pratique et, de plus, cela a été corrigé en PHP 4.3. |
<< | Exemples | >> |
Constantes pré-définies | Sessions | Passer l'identifiant de session (session ID) |