Ejemplos
PHP Manual

Uso básico

Las sesiones son una forma sencilla de almacenar datos para usuarios de manera individual usando un ID de sesión único. Esto se puede usar para hacer persistente la información de estado entre peticiones de páginas. Los ID de sesiones normalmente son enviados al navegador mediante cookies de sesión, y el ID se usa para recuperar los datos de sesión existente. La ausencia de un ID o una cookie de sesión permite saber a PHP para crear una nueva sesión y generar un nuevo ID de sesión.

Las sesiones siguen un flujo de trabajo sencillo. Cuando una sesión se inicia, PHP recuperará una sesión existente usando el ID pasado (normalmente desde una cookie de sesión) o, si no se pasa una sesión, se creará una sesión nueva. PHP rellenará la variable superglobal $_SESSION con cualesquiera datos de sesión de que se inicie la seisón. Cuando PHP se cierra, automáticamente toma el contenido de la variable superglobal $_SESSION, la serializa, y la envía para almacenarla usando el gestor de almacenamiento de sesiones.

Por omisión, PHP usa el gestor interno de almacenamiento files, el cual se establece mediante session.save_handler. Éste guarda los datos de sesión en el servidor en la ubicación especificada por la directiva de configuración session.save_path.

Las sesiones se puede iniciar manualmente usando la función session_start(), si la directiva session.auto_start se establece a 1, una sesión se iniciará automáticamente ante cualquier petición de arranque.

Las sesiones normalmente se cierran automáticamente cuando PHP termina de ejecutar un script, pero se pueden cerrar manualmente usando la función session_write_close().

Ejemplo #1 Registrar una variable con $_SESSION.

<?php
session_start
();
if (!isset(
$_SESSION['count'])) {
  
$_SESSION['count'] = 0;
} else {
  
$_SESSION['count']++;
}
?>

Ejemplo #2 Dejar de registrar una variable con $_SESSION

<?php
session_start
();
unset(
$_SESSION['count']);
?>

Precaución

NO destruya completamente $_SESSION con unset($_SESSION) ya que esto deshabilitará el registro de las variables a través de la matriz superglobal $_SESSION.

Advertencia

No se pueden usar referencias en variables de sesión ya que no hay una manera viable de restarurar una referencia a otra variable.

Advertencia

register_globals sobreescribirá las variables en el ámbito global, cuyos nombres son compartidos con las variables de sesión. Por favor véase Uso de Register Globals para más detalles.


Ejemplos
PHP Manual