session_name

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

session_nameLee y/o modifica el nombre de la sesión

Descripción

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

session_name() devuelve el nombre de la sesión actual. Si se proporciona el argumento name, session_name() modificará el nombre de la sesión y devolverá el anterior nombre de la sesión.

Si se proporciona un nuevo nombre de sesión name, session_name() modifica la cookie HTTP (y el contenido de salida cuando session.transid está activado). Una vez enviada la cookie HTTP, llamar a session_name() desencadena un E_WARNING. session_name() debe ser llamado antes de session_start() para que la sesión funcione correctamente.

El nombre de la sesión se reinicia al valor por defecto, almacenado en session.name al inicio. Por lo tanto, debe llamarse a session_name() para cada petición (y antes de que session_start() sea llamado).

Parámetros

name

El nombre de sesión se utiliza como nombre para las cookies y las URLs (es decir, PHPSESSID). Solo debe contener caracteres alfanuméricos; debe ser corto y descriptivo (especialmente para los usuarios que tienen activada la alerta de cookies). Si name se proporciona y no es null, el nombre de la sesión actual será reemplazado por este valor.

Advertencia

Los nombres de sesión no pueden contener solo números, al menos una letra debe estar presente. De lo contrario, se generará un identificador de sesión cada vez.

Valores devueltos

Devuelve el nombre de la sesión actual. Si se proporciona el argumento name y la función actualiza el nombre de la sesión, entonces el anterior nombre de sesión será devuelto, o false en caso de error.

Historial de cambios

Versión Descripción
8.0.0 name ahora es nullable.
7.2.0 session_name() verifica el estado de la sesión, anteriormente solo verificaba el estado de la cookie. Por lo tanto, las versiones anteriores de session_name() permiten la llamada a session_name() después de session_start() lo que puede causar el fallo de PHP y puede dar lugar a comportamientos extraños.

Ejemplos

Ejemplo #1 Ejemplo con session_name()

<?php

/* elige el nombre de sesión: WebsiteID */

$previous_name = session_name("WebsiteID");

echo
"El nombre anterior de la sesión era $previous_name<br />";
?>

Ver también