Introducción

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 session.auto_start 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.

Precaución

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.

Advertencia

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.

Nota:

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().

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top