Manuel PHP
Précédent |  | Suivant

# session_start

(PHP 4 , PHP 5)

session_start -- Initialise une session

## Description

bool session_start ( void )

session_start() crée une session (ou restaure la session trouvée sur le serveur, via l'identifiant de session passé via 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 sessions. Lisez la référence sur les sessions pour des informations sur la propagation des identifiants de sessions, 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 : L'utilisation de zlib.output_compression est recommandée, à la place de ob_gzhandler.

> 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().

Précédent | Sommaire | Suivant
session_set_save_handler | Niveau supérieur | session_unregister