session_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_nameLit et/ou modifie le nom de la session

Description

session_name(?string $name = null): string|false

session_name() retourne le nom de la session courante. Si le paramètre name est fourni, session_name() modifiera le nom de la session et retournera l'ancien nom de la session.

Si un nouveau nom de session name est fourni, session_name() modifie le cookie HTTP (et le contenue de sortie quand session.transid est activé). Une fois que le cookie HTTP est envoyé, session_name() émet une erreur. session_name() doit être appelé avant session_start() pour que la session fonctionne correctement.

Le nom de la session est réinitialisé à la valeur par défaut, stockée dans session.name lors du démarrage. Ainsi, vous devez appeler session_name() pour chaque demande (et avant que session_start() soit appelé).

Liste de paramètres

name

Le nom de session est utilisé comme nom pour les cookies et les URLs (i.e. PHPSESSID). Il ne doit contenir que des caractères alphanumériques ; il doit être court et descriptif (surtout pour les utilisateurs ayant activé l'alerte cookie). Si name est fourni et non null, le nom de la session courante sera remplacé par cette valeur.

Avertissement

Les noms de session ne peuvent pas contenir uniquement des chiffres, au moins une lettre doit être présente. Sinon, un identifiant de session sera généré à chaque fois.

Valeurs de retour

Retourne le nom de la session courante. Si le paramètre name est fourni et que la fonction met à jour le nom de la session, alors l'ancien nom de session sera retourné, ou false si une erreur survient.

Historique

Version Description
8.0.0 name est désormais nullable.
7.2.0 session_name() vérifie l'état de la session, auparavant elle vérifiait uniquement l'état du cookie. Par conséquent, les versions plus anciennes de session_name() autorise l'appel de session_name() après session_start() ce qui peut causer le plantage de PHP et peut donner lieu à des comportements étranges.

Exemples

Exemple #1 Exemple avec session_name()

<?php

/* choisi le nom de session : WebsiteID */

$previous_name = session_name("WebsiteID");

echo
"L'ancien nom de la session était $previous_name<br />";
?>

Voir aussi