session_startDémarre une nouvelle session ou reprend une session existante
&reftitle.description;
boolsession_startarrayoptions[]session_start crée une session ou
restaure celle trouvée sur le serveur, via l'identifiant
de session passé dans une requête GET, POST ou par un cookie.
Lorsque session_start est appelée ou lorsqu'une session démarre
toute seule, PHP va appeler les gestionnaires d'ouverture et de lecture. Ce sont des
gestionnaires internes fournis par PHP (comme fichiers, SQLite ou Memcached) ou encore
des gestionnaires personnalisés définis au moyen de
session_set_save_handler. La fonction de lecture va récupérer toute
session existante (stockée sous forme sérialisée) et va désérialiser les données pour peupler
$_SESSION.
Pour utiliser une session nommée, vous devez
appeler session_name avant d'appeler
session_start.
Lorsque session.use_trans_sid
est activée, la fonction session_start enregistrera un
gestionnaire interne de sortie pour la réécriture d'URL.
Si un utilisateur utilise ob_gzhandler ou l'équivalent
ob_start, l'ordre d'appel des fonctions est important
pour une sortie correcte. Par exemple,
ob_gzhandler doit être enregistré avant de démarrer la session.
&reftitle.parameters;
options
S'il est fourni, il s'agit d'un tableau associatif d'options qui remplacera
les directives de configuration de session
actuellement définies.
Les clés ne doivent pas inclure le préfixe session..
En plus de l'ensemble normal des directives de configuration, une option
read_and_close peut également être fournie. Si la
valeur est définie sur &true;, cela entraîne la fermeture immédiate de
la session après la lecture, ce qui évite tout blocage inutile si les
données de session ne sont pas modifiées.
&reftitle.returnvalues;
Retourne &true; si une session a pu être démarrée avec succès, et &false; sinon.
&reftitle.changelog;
&Version;&Description;7.1.0session_start retourne maintenant &false; et
n'initialise plus $_SESSION lorsqu'il n'a pas pu
démarrer la session.
&reftitle.examples;
Un exemple de session de basepage1.phppage 2';
// Ou bien, en indiquant explicitement l'identfiant de session
echo ' page 2';
?>
]]>
Après avoir vu la page page1.php avec un navigateur,
la seconde page page2.php (dont le code suit) va magiquement afficher
les données de session. Lisez la référence sur
les sessions pour des informations
sur la propagation des identifiants de session,
et l'utilisation de la constante SID.
Récupération de la session : page2.php
';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// Vous pourriez utiliser la constante SID ici, tout comme dans la page page1.php
echo ' page 1';
?>
]]>
Fournir des options à session_startRemplacement de la durée de vie du cookie
86400,
]);
?>
]]>
Lecture de la session et fermeture
86400,
'read_and_close' => true,
]);
]]>
&reftitle.notes;
Pour utiliser des sessions basées sur les cookies, session_start
doit être appelée avant d'afficher quoi que ce soit dans le navigateur.
L'utilisation de
est recommandée, à la place de ob_gzhandler.
Cette fonction va émettre plusieurs entêtes HTTP, en fonction
de la configuration. Voyez session_cache_limiter pour
personnaliser ces entêtes.
&reftitle.seealso;
$_SESSION
La directive de configuration session.auto_start
session_id