1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 07:22:16 +01:00
Files
2025-07-03 21:51:59 +02:00

115 lines
4.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ba6a83ca3558574695be5ef0a0e008e4e5f78ddb Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->
<book xml:id="book.session" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="bundled" ?>
<title>Gestión de sesiones</title>
<titleabbrev>Sesiones</titleabbrev>
<!-- {{{ preface -->
<preface xml:id="intro.session">
&reftitle.intro;
<para>
El soporte de sesiones de PHP es un medio para preservar
datos entre varios accesos.
</para>
<para>
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.
</para>
<para>
El soporte de sesiones permite almacenar datos entre las peticiones
en el array superglobal <varname>$_SESSION</varname>.
Cuando un visitante accede a su sitio, PHP verificará automáticamente (si
<link linkend="ini.session.auto-start"><option>session.auto_start
</option></link> está activado) o bajo demanda (explícitamente con
<function>session_start</function>) si existe una
sesión con el mismo nombre. En caso afirmativo, el entorno
previamente guardado será recreado.
</para>
<caution>
<para>
Si se activa <link linkend="ini.session.auto-start">
session.auto_start</link> entonces el único medio de poner objetos
en la sesión es cargar las definiciones de clase con
<link linkend="ini.auto-prepend-file">auto_prepend_file</link>
en el cual se cargan las definiciones necesarias,
o bien se deberá utilizar <function>serialize</function>
en su objeto, y <function>unserialize</function>
para recuperarlo.
</para>
</caution>
<para>
La variable <varname>$_SESSION</varname> (y todas las variables
registradas) son serializadas internamente por PHP utilizando el
gestor de serialización especificado por la opción de configuración
<link linkend="ini.session.serialize-handler">session.serialize_handler</link>,
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.
</para>
<warning>
<para>
Debido a que los datos de sesión son serializados,
las variables de tipo <type>resource</type> no pueden almacenarse
en una sesión.
</para>
<para>
Los gestores de serialización (<literal>php</literal>
y <literal>php_binary</literal>) heredan las limitaciones de
register_globals. Por lo tanto, los índices numéricos o los índices
en forma de string que contienen caracteres especiales
(<literal>|</literal> y <literal>!</literal>) no
pueden utilizarse. Su uso generará errores al final del script. <literal>php_serialize</literal>
no tiene este tipo de limitaciones.
</para>
</warning>
<note>
<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
<varname>$_SESSION</varname>. Esto solo es válido si se ha iniciado una
sesión llamando a la función <function>session_start</function>.
</para>
</note>
</preface>
<!-- }}} -->
&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;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->