Get and/or set the current session name

- « session_module_name

- session_regenerate_id »

- PHP Manual
- Session Functions
- Get and/or set the current session name

# session_name

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

session_name — Get and/or set the current session name

### Description

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

session_name() returns the name of the current session. If `name` is given, session_name() will update the session name and return the old session name.

If a new session `name` is supplied, session_name() modifies the HTTP cookie (and output content when `session.transid` is enabled). Once the HTTP cookie is sent, session_name() raises error. session_name() must be called before session_start() for the session to work properly.

The session name is reset to the default value stored in `session.name` at request startup time. Thus, you need to call session_name() for every request (and before session_start() is called).

### Parameters

`name`

  The session name references the name of the session, which is used in cookies and URLs (e.g. `PHPSESSID`). It should contain only alphanumeric characters; it should be short and descriptive (i.e. for users with enabled cookie warnings). If `name` is specified and not `null`, the name of the current session is changed to its value.

  Warning

  The session name can't consist of digits only, at least one letter must be present. Otherwise a new session id is generated every time.

### Return Values

Returns the name of the current session. If `name` is given and function updates the session name, name of the old session is returned, or `false` on failure.

### Changelog

Version | Description
--- | ---
8.0.0 | `name` is nullable now.
7.2.0 | session_name() checks session status, previously it only checked cookie status. Therefore, older session_name() allows to call session_name() after session_start() which may crash PHP and may result in misbehaviors.

### Examples

Example #1 session_name() example

    <?php/* set the session name to WebsiteID */$previous_name = session_name("WebsiteID");echo "The previous session name was $previous_name<br />";?>

### See Also

- The session.name configuration directive