Description
bool
session_start ( void )
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).
session_start() retourne toujours TRUE.
Note :
Si vous utilisez des sessions basées sur les cookies, vous devez
appeler session_start() avant d'afficher quoi
que ce soit au navigateur.
Exemple 1. Exemple de session : page1.php
<?php // page1.php
session_start();
echo 'Bienvenue à la page numéro 1';
$_SESSION['favcolor'] = 'vert'; $_SESSION['animal'] = 'chat'; $_SESSION['time'] = time();
// Fonctionne si le cookie a été accepté echo '<br /><a href="page2.php">page 2</a>';
// Ou bien, en indiquant explicitement l'identfiant de session echo '<br /><a href="page2.php?' . SID . '">page 2</a>'; ?>
|
|
Après avoir vu la page page1.php avec un navigateur,
la seconde page page2.php 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.
Exemple 2. Exemple de session : page2.php
<?php // page2.php
session_start();
echo 'Bienvenue sur la page numéro 2<br />';
echo $_SESSION['favcolor']; // vert echo $_SESSION['animal']; // chat 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 '<br /><a href="page1.php">page 1</a>'; ?>
|
|
Si vous avez utilisé une session nommée, vous devez
appeler session_name() avant d'appeler
session_start().
session_start() va configurer un gestionnaire
interne d'affichage, pour assurer la réécriture des URL, lorsque
le support transparent du SID est activé.
Si vous utilisez
ob_gzhandler ou ob_start(),
l'ordre des gestionnaires d'affichage est important pour un affichage
correct. Par exemple, l'utilisateur doit enregistrer
ob_gzhandler avant que la session ne commence.
Note :
Depuis PHP 4.3.3, l'appel à session_start() alors que la session
a déjà débuté, retournera une erreur de niveau
E_NOTICE. Le second appel à la fonction sera
tout simplement ignoré.
Voir aussi
$_SESSION,
session.auto_start et
session_id().