Rechercher une fonction PHP

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.

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-intro.session.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut