php[world] in Washington, D.C.

Introducción

El soporte para sesiones en PHP consiste en una forma de preservar cierta información a lo largo de accesos subsiguientes.

A un visitante que accede a un sitio web se el asigna un id único, también llamado id de sesión. Éste es almacenado en una cookie en la parte del cliente o se propaga en el URL.

El soporte para sesiones permite almacenar los datos entre peticiones en el array superglobal $_SESSION. Cuando un visitante acceda a un sitio web, PHP comprobará automáticamente (si session.auto_start está establecido a 1), o sobre su petición (explícitamete a través de session_start()), si se ha enviado un id de sesión específico con la petición. Si éste es el caso, se recrea el entorno anteriormente guardado.

Precaución

Si se activa session.auto_start, la única manera de colocar objetos en las sesiones es cargar su definición de clase usando auto_prepend_file , en el que, además de cargar la definición de clase, se tendrá que emplear serialize() para serializar el objeto y unserialize() para deserializarlo después.

$_SESSION (y todas las variables registradas) son serializadas internamente por PHP utilizando el gestor de serialización especificado en el ajuste ini session.serialize_handler, una vez finalizada la solicitud. Las variables registradas que están sin definir son marcadas como no definidas. En accesos subsiguientes, éstas no estarán definidas por el módulo de sesión a menos que el usuario las defina después.

Advertencia

Debido a que los datos de sesión son serializados, las variables resource no pueden ser almacenadas en la sesión.

Los gestortes serializados (php y php_binary) heredan las limitaciones de register_globals. Por lo tanto, no se pueden usar índices númericos o de string que contengan los caracteres especiales (| y !). Si se utilizan, se finalizará con errores al cierre del script. php_serialize no tiene tales limitaciones. php_serialize está disponible desde PHP 5.5.4.

Nota:

Por favor, observe que al trabajar con sesiones, no se crea un registro de una sesión hasta que una variable haya sido registrada usando la función session_register() o añadiendo una nueva clave al array superglobal $_SESSION. Esto siempre es así, sin importar si una sesión ha sido iniciada usando la función session_start().

Nota:

PHP 5.2.2 introdujo una característica no documentada para almacenar ficheros de sesiones en "/tmp" incluso si open_basedir estaba habilitado y "/tmp" no estaba explícitamente añadido a la lista de rutas permitidas. Esta característica ha sido eliminada de PHP a partir de PHP 5.3.0.

add a note add a note

User Contributed Notes 2 notes

up
-9
harshitcode25 at gmail dot com
5 months ago
PHP Session Variables
When you are working with an application, you open it, do some changes and then you close it. This is much like a Session. The computer knows who you are. It knows when you start the application and when you end. But on the internet there is one problem: the web server does not know who you are and what you do because the HTTP address doesn't maintain state.

A PHP session solves this problem by allowing you to store user information on the server for later use (i.e. username, shopping items, etc). However, session information is temporary and will be deleted after the user has left the website. If you need a permanent storage you may want to store the data in a database.

Sessions work by creating a unique id (UID) for each visitor and store variables based on this UID. The UID is either stored in a cookie or is propagated in the URL.
up
-36
payal at radixweb dot com
3 years ago
If you use auto start session, Session cookie will not be created , it will be created only if you will use session_start()
To Top