PHP 5.4.36 Released

Introduction

Le support des sessions de PHP est un moyen de préserver des données entre plusieurs accès.

Chaque visiteur accédant à votre page web se voit assigner un identifiant unique, appelé "identifiant de session". Il peut être stocké soit dans un cookie, soit propagé dans l'URL.

Le support des sessions vous permet de stocker des données entre les requêtes dans le tableau super-globale $_SESSION. Lorsqu'un visiteur accède à votre site, PHP va vérifier automatiquement (si session.auto_start est activé) ou sur demande (explicitement avec session_start()) s'il existe une session du même nom. Si c'est le cas, l'environnement précédemment sauvé sera recréé.

Attention

Si vous activez session.auto_start alors le seul moyen de mettre des objets en session est de charger les définitions de classe avec auto_prepend_file dans lequel vous chargez les définitions dont vous avez besoin, ou bien vous devrez utiliser serialize() sur votre objet, et unserialize() pour le récupérer.

La variable $_SESSION (et toutes les variables enregistrées) sont linéarisées en interne par PHP en utilisant le gestionnaire de linéarisation spécifié par l'option de configuration session.serialize_handler, après l'exécution du script PHP. Les variables qui sont indéfinies sont marquées comme telles. Lors des accès ultérieurs, elles ne seront pas définies, jusqu'à ce que l'utilisateur le fasse.

Avertissement

En raison du fait que les données de session sont linéarisées, les variables de type resource ne peuvent être stockées dans une session.

Les gestionnaires de linéarisation (php et php_binary) héritent des limitations de register_globals. Aussi, les index numériques ou les index sous forme de chaînes de caractères contenant des caractères spéciaux (| et !) ne peuvent pas être utilisés. Le fait de les utiliser génèrera des erreurs en fin de script. php_serialize n'a pas ce genre de limitations. php_serialize est disponible depuis PHP 5.5.4.

Note:

Notez que lorsque vous travaillez avec les sessions, un enregistrement dans la session ne sera pas créé tant que la variable ne sera pas enregistrée en utilisant la fonction session_register() ou en ajoutant une clé à la variable super-globale $_SESSION. Cela n'est vrai que si vous avez débuté une session en appelant la fonction session_start().

Note:

PHP 5.2.2 a introduit une fonctionnalité non documentée pour stocker dans le dossier "/tmp" même si open_basedir est activé, et "/tmp" n'est pas explicitement ajouté dans les chemins autorisés. Cette fonctionnalité a été retirée de PHP depuis PHP 5.3.0.

add a note add a note

User Contributed Notes 2 notes

up
-9
harshitcode25 at gmail dot com
8 months ago
PHP Session Variables
When you are working with an application, you open it, do some changes and then you close it. This is much like a Session. The computer knows who you are. It knows when you start the application and when you end. But on the internet there is one problem: the web server does not know who you are and what you do because the HTTP address doesn't maintain state.

A PHP session solves this problem by allowing you to store user information on the server for later use (i.e. username, shopping items, etc). However, session information is temporary and will be deleted after the user has left the website. If you need a permanent storage you may want to store the data in a database.

Sessions work by creating a unique id (UID) for each visitor and store variables based on this UID. The UID is either stored in a cookie or is propagated in the URL.
up
-36
payal at radixweb dot com
4 years ago
If you use auto start session, Session cookie will not be created , it will be created only if you will use session_start()
To Top