Sesión PHP & Cookies PHP con ejemplo

Tabla de contenido:

Anonim

¿Qué es una cookie?

Una cookie es un archivo pequeño con el tamaño máximo de 4 KB que el servidor web almacena en la computadora cliente.

Una vez que se ha establecido una cookie, todas las solicitudes de página siguientes devuelven el nombre y el valor de la cookie.

Una cookie solo se puede leer desde el dominio desde el que se emitió. Por ejemplo, una cookie configurada con el dominio www.guru99.com no se puede leer desde el dominio profession.guru99.com.

La mayoría de los sitios web en Internet muestran elementos de otros dominios, como publicidad. Los dominios que sirven estos elementos también pueden configurar sus propias cookies. Estas se conocen como cookies de terceros.

Una cookie creada por un usuario solo puede ser visible para ellos. Otros usuarios no pueden ver su valor.

La mayoría de los navegadores web tienen opciones para deshabilitar cookies, cookies de terceros o ambas.

Si este es el caso, PHP responde pasando el token de la cookie en la URL.

El diagrama que se muestra a continuación ilustra cómo funcionan las cookies.

Aquí,

1) Un usuario solicita una página que almacena cookies

2) El servidor coloca la cookie en la computadora del usuario

3) Otras solicitudes de página del usuario devolverán el nombre y el valor de la cookie

En este tutorial, aprenderá:

  • ¿Por qué y cuándo utilizar cookies?
  • Creando Cookies
  • Recuperando el valor de la Cookie
  • Eliminar las cookies
  • ¿Qué es una sesión?
  • ¿Por qué y cuándo utilizar las sesiones?
  • Crear una sesión
  • Destrucción de variables de sesión

¿Por qué y cuándo utilizar cookies?

  • Http es un protocolo sin estado; Las cookies nos permiten rastrear el estado de la aplicación utilizando pequeños archivos almacenados en la computadora del usuario.

    La ruta donde se almacenan las cookies depende del navegador.

    Internet Explorer generalmente los almacena en la carpeta Archivos temporales de Internet.

  • Personalizar la experiencia del usuario: esto se logra al permitir que los usuarios seleccionen sus preferencias.

    Las páginas solicitadas a continuación se personalizan en función de las preferencias establecidas en las cookies.

  • Seguimiento de las páginas visitadas por un usuario

Creando Cookies

Veamos ahora la sintaxis básica utilizada para crear una cookie.

AQUÍ,

  • Php "setcookie" es la función PHP utilizada para crear la cookie.
  • "Cookie_name" es el nombre de la cookie que el servidor utilizará al recuperar su valor de la variable de matriz $ _COOKIE. Es obligatorio.
  • "Cookie_value" es el valor de la cookie y su obligatorio
  • "[Expiry_time]" es opcional; se puede utilizar para establecer el tiempo de caducidad de la cookie, como 1 hora. El tiempo se establece usando las funciones PHP time () más o menos un número de segundos mayor que 0, es decir, time () + 3600 para 1 hora.
  • "[Cookie_path]" es opcional; se puede utilizar para establecer la ruta de las cookies en el servidor. La barra diagonal "/" significa que la cookie estará disponible en todo el dominio. Los subdirectorios limitan el acceso de cookies al subdominio.
  • “[Dominio]” es opcional, se puede utilizar para definir la jerarquía de acceso a las cookies, es decir, www.sub.cookiedomain.com significa dominio completo mientras que www.sub.cookiedomain.com limita el acceso de las cookies a www.sub.cookiedomain.com y su sub dominios. Tenga en cuenta que es posible tener un subdominio de un subdominio siempre que el total de caracteres no supere los 253 caracteres.
  • “[Seguro]” es opcional, el valor predeterminado es falso. Se utiliza para determinar si la cookie se envía a través de https si está configurada como verdadera o http si está configurada como falsa.
  • “[Httponly]” es opcional. Si se establece en verdadero, solo los lenguajes de programación del lado del cliente, es decir, JavaScript, no pueden acceder a ellos.

Nota: la función php set cookie debe ejecutarse antes que la etiqueta de apertura HTML.

Veamos ahora un ejemplo que usa cookies.

Crearemos un programa básico que nos permitirá almacenar el nombre de usuario en una cookie que caduca a los diez segundos.

El siguiente código muestra la implementación del ejemplo anterior "cookies.php".

Producción:

the cookie has been set for 60 seconds

Recuperando el valor de la Cookie

Cree otro archivo llamado "cookies_read.php" con el siguiente código.

Producción:

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Nota: $ _COOKIE es un PHP integrado en una variable súper global.

Contiene los nombres y valores de todas las cookies configuradas.

El número de valores que

La matriz $ _COOKIE puede contener depende del tamaño de memoria establecido en php.ini.

El valor predeterminado es 1 GB.

Probando nuestra aplicación.

Supongamos que ha guardado sus archivos PHP en la carpeta phptus.

  • Paso 1: abra su navegador web e ingrese la URL http: //localhost/phptuts/cookies_read.php

Nota: solo se ha mostrado una matriz vacía

  • Paso 2 - Navegue a la URL http: //localhost/phptuts/cookies.php

  • Paso 3: vuelva a la primera pestaña y luego haga clic en el botón Actualizar

Espere un minuto y luego haga clic en el botón Actualizar nuevamente. Que resultados obtuviste?

Eliminar las cookies

  • Si desea destruir una cookie antes de su fecha de caducidad, establezca la fecha de caducidad en un tiempo que ya ha pasado.
  • Cree un nuevo archivo llamado cookie_destroy.php con el siguiente código
  • Repita los pasos del 1 al 3 de la sección anterior sobre cómo recuperar los valores de las cookies.
  • Abra la URL http: //localhost/phptuts/cookie_destroy.php
  • Cambie a la URL http: //localhost/phptuts/cookies_read.php ¿Qué resultados muestra?

¿Qué es una sesión?

  • Una sesión es una variable global almacenada en el servidor.
  • A cada sesión se le asigna una identificación única que se utiliza para recuperar los valores almacenados.
  • Siempre que se crea una sesión, una cookie que contiene la identificación de sesión única se almacena en la computadora del usuario y se devuelve con cada solicitud al servidor. Si el navegador del cliente no admite cookies, la identificación de sesión php única se muestra en la URL
  • Las sesiones tienen la capacidad de almacenar datos relativamente grandes en comparación con las cookies.
  • Los valores de la sesión se eliminan automáticamente cuando se cierra el navegador. Si desea almacenar los valores de forma permanente, debe almacenarlos en la base de datos.
  • Al igual que la variable de matriz $ _COOKIE, las variables de sesión se almacenan en la variable de matriz $ _SESSION. Al igual que las cookies, la sesión debe iniciarse antes que cualquier etiqueta HTML.

¿Por qué y cuándo utilizar las sesiones?

  • Desea almacenar información importante, como la identificación del usuario, de forma más segura en el servidor, donde los usuarios malintencionados no puedan manipularlos.
  • Quiere pasar valores de una página a otra.
  • Quiere la alternativa a las cookies en los navegadores que no admiten cookies.
  • Desea almacenar variables globales de una manera eficiente y más segura en comparación con pasarlas en la URL.
  • Está desarrollando una aplicación, como un carrito de la compra, que tiene que almacenar temporalmente información con una capacidad superior a 4 KB.

Crear una sesión

Para crear una sesión, primero debe llamar a la función PHP session_start y luego almacenar sus valores en la variable de matriz $ _SESSION.

Supongamos que queremos saber la cantidad de veces que se ha cargado una página, podemos usar una sesión para hacerlo.

El siguiente código muestra cómo crear y recuperar valores de sesiones

Producción:

You are visitor number 1

Destrucción de variables de sesión

La función session_destroy () se usa para destruir todas las variables de sesión de Php.

Si desea destruir solo un elemento de sesión, use la función unset ().

El siguiente código ilustra cómo utilizar ambos métodos.

Session_destroy elimina todos los datos de la sesión, incluidas las cookies asociadas con la sesión.

Unset solo libera las variables de sesión individuales.

Otros datos permanecen intactos.

Resumen

  • Las cookies son pequeños archivos que se guardan en la computadora del usuario.
  • Las cookies solo se pueden leer del dominio emisor
  • Las cookies pueden tener un tiempo de caducidad, si no está configurado, la cookie caduca cuando se cierra el navegador.
  • Las sesiones son como variables globales almacenadas en el servidor
  • A cada sesión se le da una identificación de identificación única que se utiliza para rastrear las variables de un usuario.
  • Tanto las cookies como las sesiones deben iniciarse antes de que se envíen etiquetas HTML al navegador.