# session_name

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

session_name — Lit 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 le cookie HTTP envoyé, appeler session_name() déclenche un `E_WARNING`. 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

- La directive de configuration session.name