0% encontró este documento útil (0 votos)
32 vistas3 páginas

Cómo manejar cookies y sesiones en PHP

Las cookies son archivos de texto pequeños que se envían desde el servidor y se almacenan en el navegador del cliente para permitir la persistencia de información entre solicitudes. En PHP se pueden manejar cookies mediante la función setcookie() y el array global $_COOKIE. Las variables de sesión permiten almacenar información de forma persistente en el servidor para cada cliente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas3 páginas

Cómo manejar cookies y sesiones en PHP

Las cookies son archivos de texto pequeños que se envían desde el servidor y se almacenan en el navegador del cliente para permitir la persistencia de información entre solicitudes. En PHP se pueden manejar cookies mediante la función setcookie() y el array global $_COOKIE. Las variables de sesión permiten almacenar información de forma persistente en el servidor para cada cliente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Qué son los cookies?

Las cookies son archivos de texto pequeños que se envían desde el servidor y se
almacenan en el navegador del cliente. Estos archivos permiten la persistencia de
información entre las solicitudes al servidor. La duración de una cookie puede ser de
minutos, horas, días o incluso indefinidamente.

En PHP, es posible utilizar cookies mediante la función setcookie() y el array global


$_COOKIE. A continuación, exploraremos cómo hacerlo.

Manejando cookies en PHP

Enviar una cookie : setcookie()

Esta función establece una cookie que será enviada al cliente junto con las demás
cabeceras de HTTP. Retorna `true` si la cookie se envía correctamente y `false` en caso
contrario.
Las cookies deben ser enviadas antes de que el programa genere cualquier salida. Esto
no es una elección arbitraria de PHP, sino una limitación del protocolo HTTP. Por lo
tanto, es crucial invocar esta función antes de realizar cualquier tipo de salida, lo
incluye incluso espacios en blanco. De lo contrario, la cookie no estará disponible hasta
que la página sea recargada.

La función setcookie() admite un montón de parámetros, la mayor parte de ellos


optativos:
 name: El nombre de la cookie. Este es el único obligatorio.
 value: El valor de la cookie.
 expire: El tiempo que la cookie tardará en expirar. Se trata de una fecha expresada
en formato Unix.
La función setcookie() admite un montón de parámetros, la mayor parte de ellos
optativos:
 name: El nombre de la cookie. Este es el único obligatorio.
 value: El valor de la cookie.
 expire: El tiempo que la cookie tardará en expirar. Se trata de una fecha expresada
en formato Unix.
 path: La ruta del servidor para la que la cookie estará disponible. Si se utiliza ‘/’, la
cookie estará disponible en la totalidad del dominio.
 domain: El dominio para el cual la cookie está disponible.
 secure: Si la cookie solo debería enviarse en caso de conexión https, pon este
argument a true.
 httponly: Esta cookie solo será accesible a través de http. Es decir, no podrá
accederse a la cookie desde Javascript.

RECUPERAR UNA COOKIE:


$_COOKIES[] Para ver el contenido de una cookie, simplemente hay que acceder al
array global $_COOKIES. Por ejemplo:

BORRAR UNA COOKIE:


Para forzar el borrado de una cookie en el cliente basta con enviarla con una fecha de
expiración anterior a la fecha actual. Por ejemplo:

¿QUÉ ES ESO DE LAS VARIABLES DE SESIÓN?


Las sesiones en PHP ofrecen un mecanismo para que un script almacene variables,
conocidas como variables de sesión, en el servidor de manera persistente. Esto
permite que ejecuciones posteriores de programas en el servidor, solicitadas desde el
mismo cliente, puedan acceder a estas variables. En la práctica, las variables de sesión
actúan como variables globales para toda la aplicación web.

Aunque generalmente se desaconseja el uso excesivo de variables globales, en el


contexto de las aplicaciones web, el uso de variables de sesión es inevitable. Sin
embargo, es esencial limitar su uso a lo estrictamente necesario. ¿Qué tipo de
información es útil almacenar en variables de sesión? Elementos como el ID o el
nombre de un usuario logueado en un sistema, así como el estado de la aplicación. Se
recomienda mantener estas variables pequeñas pero significativas.

Cada cliente tiene su propio espacio de variables de sesión en el servidor, evitando así
la mezcla entre diferentes clientes y garantizando que un cliente no pueda acceder a
las variables de otro cliente.

PHP distingue a los clientes asignándoles de forma transparente una cookie con un
valor aleatorio único para cada cliente. La transparencia en este contexto significa que
ni el programador ni el usuario son conscientes de la existencia de esa cookie; PHP se
encarga de manejarla automáticamente.

Aunque en el archivo php.ini se puede configurar la forma en que PHP almacena las
variables de sesión (ya sea en memoria, en un archivo, etc.), esto es generalmente
irrelevante para el programador y más bien competencia del administrador del
sistema. Lo que nos interesa aprender es cómo crear variables de sesión, asignarles
valores y recuperarlos posteriormente.
Abrir sesiones: session_start():

Antes de interactuar con cualquier variable de sesión, ya sea para crearla, modificarla o
eliminarla, es necesario indicar a PHP que se utilizarán variables de sesión en ese
programa.
La función `session_start()` cumple con este propósito, habilitando el acceso a las
variables de sesión. En otras palabras, crea una nueva sesión o reanuda una sesión
preexistente.
Las sesiones tienen la opción de tener un nombre, útil cuando se necesitan sesiones
separadas para el mismo cliente. Sin embargo, en la mayoría de los casos, será
suficiente crear sesiones sin nombre, prescindiendo de pasar cualquier argumento a
`session_start()`.

También podría gustarte