Gestión de sesionesSesiones
&reftitle.intro;
El soporte de sesiones de PHP es un medio para preservar
datos entre varios accesos.
Cada visitante que accede a su página web se le asigna un
identificador único, llamado "identificador de sesión". Puede
almacenarse en una cookie o propagarse en la URL.
El soporte de sesiones permite almacenar datos entre las peticiones
en el array superglobal $_SESSION.
Cuando un visitante accede a su sitio, PHP verificará automáticamente (si
está activado) o bajo demanda (explícitamente con
session_start) si existe una
sesión con el mismo nombre. En caso afirmativo, el entorno
previamente guardado será recreado.
Si se activa
session.auto_start entonces el único medio de poner objetos
en la sesión es cargar las definiciones de clase con
auto_prepend_file
en el cual se cargan las definiciones necesarias,
o bien se deberá utilizar serialize
en su objeto, y unserialize
para recuperarlo.
La variable $_SESSION (y todas las variables
registradas) son serializadas internamente por PHP utilizando el
gestor de serialización especificado por la opción de configuración
session.serialize_handler,
después de la ejecución del script PHP. Las variables que están indefinidas son marcadas
como tales. En accesos posteriores, no estarán
definidas, hasta que el usuario lo haga.
Debido a que los datos de sesión son serializados,
las variables de tipo resource no pueden almacenarse
en una sesión.
Los gestores de serialización (php
y php_binary) heredan las limitaciones de
register_globals. Por lo tanto, los índices numéricos o los índices
en forma de string que contienen caracteres especiales
(| y !) no
pueden utilizarse. Su uso generará errores al final del script. php_serialize
no tiene este tipo de limitaciones.
Tenga en cuenta que al trabajar con sesiones, un registro
en la sesión no será creado hasta que la variable sea
registrada añadiendo una clave al array superglobal
$_SESSION. Esto solo es válido si se ha iniciado una
sesión llamando a la función session_start.
&reference.session.setup;
&reference.session.constants;
&reference.session.examples;
&reference.session.upload-progress;
&reference.session.security;
&reference.session.reference;
&reference.session.sessionhandler;
&reference.session.sessionhandlerinterface;
&reference.session.sessionidinterface;
&reference.session.sessionupdatetimestamphandlerinterface;