<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.session.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'book.session.php',
    1 => 'Sesiones',
    2 => 'Gesti&oacute;n de sesiones',
  ),
  'up' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Extensiones de sesiones',
  ),
  'prev' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Extensiones de sesiones',
  ),
  'next' => 
  array (
    0 => 'session.setup.php',
    1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/session/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.session.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.session" class="book">
 
 <h1 class="title">Gestión de sesiones</h1>
 

 
 <div id="intro.session" class="preface">
  <h1 class="title">Introducción</h1>
  <p class="para">
   El soporte de sesiones de PHP es un medio para preservar
   datos entre varios accesos.
  </p>
  <p class="para">
   Cada visitante que accede a su página web se le asigna un
   identificador único, llamado &quot;identificador de sesión&quot;. Puede
   almacenarse en una cookie o propagarse en la URL.
  </p>
  <p class="para">
   El soporte de sesiones permite almacenar datos entre las peticiones
   en el array superglobal <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>.
   Cuando un visitante accede a su sitio, PHP verificará automáticamente (si
   <a href="session.configuration.php#ini.session.auto-start" class="link"><strong class="option unknown">session.auto_start
    </strong></a> está activado) o bajo demanda (explícitamente con
   <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span>) si existe una
   sesión con el mismo nombre. En caso afirmativo, el entorno
   previamente guardado será recreado.
  </p>
  <div class="caution"><strong class="caution">Precaución</strong>
   <p class="para">
    Si se activa <a href="session.configuration.php#ini.session.auto-start" class="link">
    session.auto_start</a> entonces el único medio de poner objetos
    en la sesión es cargar las definiciones de clase con
    <a href="ini.core.php#ini.auto-prepend-file" class="link">auto_prepend_file</a>
    en el cual se cargan las definiciones necesarias,
    o bien se deberá utilizar <span class="function"><a href="function.serialize.php" class="function">serialize()</a></span>
    en su objeto, y <span class="function"><a href="function.unserialize.php" class="function">unserialize()</a></span>
    para recuperarlo.
   </p>
  </div>
  <p class="para">
   La variable <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> (y todas las variables
   registradas) son serializadas internamente por PHP utilizando el
   gestor de serialización especificado por la opción de configuración
   <a href="session.configuration.php#ini.session.serialize-handler" class="link">session.serialize_handler</a>,
   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.
  </p>
  <div class="warning"><strong class="warning">Advertencia</strong>
   <p class="para">
    Debido a que los datos de sesión son serializados,
    las variables de tipo <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> no pueden almacenarse
    en una sesión.
   </p>
   <p class="para">
    Los gestores de serialización (<code class="literal">php</code>
    y <code class="literal">php_binary</code>) heredan las limitaciones de
    register_globals. Por lo tanto, los índices numéricos o los índices
    en forma de string que contienen caracteres especiales
    (<code class="literal">|</code> y <code class="literal">!</code>) no
    pueden utilizarse. Su uso generará errores al final del script. <code class="literal">php_serialize</code>
    no tiene este tipo de limitaciones.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    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
    <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. Esto solo es válido si se ha iniciado una
    sesión llamando a la función <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span>.
   </p>
  </p></blockquote>
 </div>
 

 








 








 






 

 








 








 









 





 





 






 







<ul class="chunklist chunklist_book"><li><a href="session.setup.php">Instalaci&oacute;n/Configuraci&oacute;n</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.requirements.php">Requerimientos</a></li><li><a href="session.installation.php">Instalaci&oacute;n</a></li><li><a href="session.configuration.php">Configuraci&oacute;n en tiempo de ejecuci&oacute;n</a></li></ul></li><li><a href="session.constants.php">Constantes predefinidas</a></li><li><a href="session.examples.php">Ejemplos</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.examples.basic.php">Uso b&aacute;sico</a></li><li><a href="session.idpassing.php">Pasar el identificador de sesi&oacute;n (session ID)</a></li><li><a href="session.customhandler.php">Gesti&oacute;n personalizada de sesiones</a></li></ul></li><li><a href="session.upload-progress.php">Progresi&oacute;n de una subida (upload) en sesi&oacute;n</a></li><li><a href="session.security.php">Sesiones y Seguridad</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="features.session.security.management.php">Gesti&oacute;n b&aacute;sica de sesiones</a></li><li><a href="session.security.ini.php">Seguridad de las configuraciones INI de sesi&oacute;n</a></li></ul></li><li><a href="ref.session.php">Funciones de sesi&oacute;n</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.session-abort.php">session_abort</a> — Interrumpe los cambios en el array de sesi&oacute;n y finaliza la sesi&oacute;n</li><li><a href="function.session-cache-expire.php">session_cache_expire</a> — Obtiene y/o define el tiempo de expiraci&oacute;n de la cach&eacute;</li><li><a href="function.session-cache-limiter.php">session_cache_limiter</a> — Lee y/o modifica el limitador de cach&eacute; de sesi&oacute;n</li><li><a href="function.session-commit.php">session_commit</a> — Alias de session_write_close</li><li><a href="function.session-create-id.php">session_create_id</a> — Crear un nuevo ID de sesi&oacute;n</li><li><a href="function.session-decode.php">session_decode</a> — Decodifica la informaci&oacute;n de sesi&oacute;n desde una cadena de sesi&oacute;n codificada</li><li><a href="function.session-destroy.php">session_destroy</a> — Destruye una sesi&oacute;n</li><li><a href="function.session-encode.php">session_encode</a> — Codifica los datos de sesi&oacute;n</li><li><a href="function.session-gc.php">session_gc</a> — Ejecuta la recolecci&oacute;n de basura de los datos de sesi&oacute;n</li><li><a href="function.session-get-cookie-params.php">session_get_cookie_params</a> — Lee la configuraci&oacute;n del cookie de sesi&oacute;n</li><li><a href="function.session-id.php">session_id</a> — Lee y/o modifica el identificador de sesi&oacute;n actual</li><li><a href="function.session-module-name.php">session_module_name</a> — Lee y/o modifica el m&oacute;dulo de sesi&oacute;n actual</li><li><a href="function.session-name.php">session_name</a> — Lee y/o modifica el nombre de la sesi&oacute;n</li><li><a href="function.session-regenerate-id.php">session_regenerate_id</a> — Reemplaza el identificador de sesi&oacute;n actual por uno nuevo</li><li><a href="function.session-register-shutdown.php">session_register_shutdown</a> — Funci&oacute;n de cierre de sesiones</li><li><a href="function.session-reset.php">session_reset</a> — Restablece el array de sesi&oacute;n con los valores originales</li><li><a href="function.session-save-path.php">session_save_path</a> — Lee y/o modifica la ruta de guardado de las sesiones</li><li><a href="function.session-set-cookie-params.php">session_set_cookie_params</a> — Modifica los par&aacute;metros de la cookie de sesi&oacute;n</li><li><a href="function.session-set-save-handler.php">session_set_save_handler</a> — Configura las funciones de almacenamiento de sesiones</li><li><a href="function.session-start.php">session_start</a> — Inicia una nueva sesi&oacute;n o reanuda una sesi&oacute;n existente</li><li><a href="function.session-status.php">session_status</a> — Determina el estado de la sesi&oacute;n actual</li><li><a href="function.session-unset.php">session_unset</a> — Destruye todas las variables de una sesi&oacute;n</li><li><a href="function.session-write-close.php">session_write_close</a> — Escribe los datos de sesi&oacute;n y cierra la sesi&oacute;n</li></ul></li><li><a href="class.sessionhandler.php">SessionHandler</a> — La clase SessionHandler<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandler.close.php">SessionHandler::close</a> — Cerrar la sesi&oacute;n</li><li><a href="sessionhandler.create-sid.php">SessionHandler::create_sid</a> — Devuelve un nuevo ID de sesi&oacute;n</li><li><a href="sessionhandler.destroy.php">SessionHandler::destroy</a> — Destruir una sesi&oacute;n</li><li><a href="sessionhandler.gc.php">SessionHandler::gc</a> — Limpia las sesiones antiguas</li><li><a href="sessionhandler.open.php">SessionHandler::open</a> — Inicializar una sesi&oacute;n</li><li><a href="sessionhandler.read.php">SessionHandler::read</a> — Leer informaci&oacute;n de la sesi&oacute;n</li><li><a href="sessionhandler.write.php">SessionHandler::write</a> — Escribir informaci&oacute;n de sesi&oacute;n</li></ul></li><li><a href="class.sessionhandlerinterface.php">SessionHandlerInterface</a> — La clase SessionHandlerInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandlerinterface.close.php">SessionHandlerInterface::close</a> — Cerrar la sesi&oacute;n</li><li><a href="sessionhandlerinterface.destroy.php">SessionHandlerInterface::destroy</a> — Destruir una sesi&oacute;n</li><li><a href="sessionhandlerinterface.gc.php">SessionHandlerInterface::gc</a> — Limpia las sesiones antiguas</li><li><a href="sessionhandlerinterface.open.php">SessionHandlerInterface::open</a> — Inicializar una sesi&oacute;n</li><li><a href="sessionhandlerinterface.read.php">SessionHandlerInterface::read</a> — Leer informaci&oacute;n de sesi&oacute;n</li><li><a href="sessionhandlerinterface.write.php">SessionHandlerInterface::write</a> — Escribir informaci&oacute;n de sesi&oacute;n</li></ul></li><li><a href="class.sessionidinterface.php">SessionIdInterface</a> — La interfaz SessionIdInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionidinterface.create-sid.php">SessionIdInterface::create_sid</a> — Crear un ID de sesi&oacute;n</li></ul></li><li><a href="class.sessionupdatetimestamphandlerinterface.php">SessionUpdateTimestampHandlerInterface</a> — La interfaz SessionUpdateTimestampHandlerInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionupdatetimestamphandlerinterface.updatetimestamp.php">SessionUpdateTimestampHandlerInterface::updateTimestamp</a> — Actualizar la marca de tiempo</li><li><a href="sessionupdatetimestamphandlerinterface.validateid.php">SessionUpdateTimestampHandlerInterface::validateId</a> — Validar el ID</li></ul></li></ul></div><?php manual_footer($setup); ?>