Saltar al contenido

Sesión PHP y Cookies PHP con ejemplo

¿Qué es una cookie?

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

Una vez que se establece una cookie, cada solicitud volverá a una página que sigue el nombre y el valor de las cookies.

Una cookie solo se puede leer desde el dominio desde el que se emitió. Por ejemplo, un conjunto de cookies que utilizan el dominio www.guru99.com no se puede leer desde el dominio carrera.guru99.com.

La mayoría de los sitios web en Internet muestran elementos de otras áreas, como la publicidad. Los dominios que sirven estos elementos también pueden configurar sus propias cookies. Se denominan cookies de terceros.

Solo las cookies creadas por el usuario pueden verlos. Otros usuarios no pueden ver su valor.

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

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

El siguiente diagrama muestra cómo funcionan las cookies.

Seo

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 las cookies.

En este tutorial, aprenderá:

¿Por qué y cuándo se pueden utilizar las cookies?

Creando Cookies

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

<?php

setcookie(cookie_name, cookie_value, [expiry_time], [cookie_path], [domain], [secure], [httponly]);

?>

AQUÍ,

Nota: la función de conjunto de cookies php debe ejecutarse antes de abrir la etiqueta HTML.

Veamos ahora un ejemplo que utiliza cookies.

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

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

<?php
     setcookie("user_name", "Guru99", time()+ 60,'/'); // expires after 60 seconds
     echo 'the cookie has been set for 60 seconds';
?>

Producción:


the cookie has been set for 60 seconds

Recuperando el valor de las cookies

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

<?php
     print_r($_COOKIE);    //output the contents of the cookie array variable 
?>

Producción:


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

Nota: $ _COOKIE es una variable superglobal integrada en PHP.

Contiene los nombres y valores de todas las cookies configuradas.

El número de valores que

La matriz $ _COOKIE depende de la cantidad de memoria configurada en php.ini.

El valor predeterminado es 1 GB.

Probando nuestra aplicación.

Suponemos que ha guardado sus archivos PHP en una carpeta phptus.

Nota: solo se mostró una fila vacía

Espere un minuto y luego vuelva a hacer clic en el botón Actualizar. Que resultados obtuviste?

Eliminar las cookies

<?php

 setcookie("user_name", "Guru99", time() - 360,'/');

?>

¿Qué es una sesión?

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

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 edición $ _SESSION.

Creo 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

<?php

session_start(); //start the PHP_session function 

if(isset($_SESSION['page_count']))
{
     $_SESSION['page_count'] += 1;
}
else
{
     $_SESSION['page_count'] = 1;
}
 echo 'You are visitor number ' . $_SESSION['page_count'];

?>

Producción:


You are visitor number 1

Eliminar variables de sesión

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

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

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

<?php

 session_destroy(); //destroy entire session 

?>
<?php

unset($_SESSION['product']); //destroy product session item 

?>

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

Unset solo libera las variables de sesión individuales.

Otros datos aún están intactos.

Resumen