(PHP 4, PHP 5, PHP 7, PHP 8)
session_name — Lit et/ou modifie le nom de la session
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é).
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.
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.
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.
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. |
Exemple #1 Exemple avec session_name()
<?php
$previous_name = session_name("WebsiteID");
echo "L'ancien nom de la session était $previous_name<br />";
?>