Hola amigos espero se encuentren de maravilla, hoy trabajaremos un pequeño ejemplo para aprender como crear cookies con php por medio de una función propia de php, también les mostraré como podemos eliminar o caducar las cookies generadas y visualizaremos directamente el funcionamiento en nuestro navegador desde la herramienta para desarrolladores de Google Chrome.
¿Qué es una cookie?
Una cookie es un archivo temporal que algún sitio web en especifico crea en el ordenador de un usuario con la intención de almacenar cierta información o preferencias, es decir, cuando un usuario visita por primera vez un sitio web este crea una cookie con información especifica de este usuario, así las próximas veces que este usuario ingrese al sitio web el servidor revisa si ya existe una cookie para poder configurar el sitio web según las preferencias del usuario y con esto mejora la experiencia de este al navegar por su web.
Como crear cookies con php – Vídeo explicativo
En el siguiente vídeo te muestro como crear una cookie con php e ilustro el funcionamiento directamente en el navegador.
Como crear cookies con php – Ejemplo
En el ejemplo que vamos a trabajar hoy solicitamos al usuario que elija de que país es con la intención de que la próxima vez que ingrese al sitio web este ya se personalice dependiendo del país seleccionado.
Para iniciar creamos un archivo ubicacion.php en el cual simplemente ponemos 3 imágenes de 3 diferentes países (México, Estados Unidos y Francia) y dependiendo del país que se elija redirigimos al archivo crear-cookie.php con el parámetro pais y el valor mx, us o fr según el país seleccionado.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Usando Cookies con PHP</title> </head> <body> <center> <h2>Elige tu país:</h2> <a href="crear-cookie.php?pais=mx"><img src="img/mx.png" /></a> <a href="crear-cookie.php?pais=us"><img src="img/us.png" /></a> <a href="crear-cookie.php?pais=fr"><img src="img/fr.png" /></a> </center> </body> </html>
En el archivo crear-cookie.php hacemos uso de una función propia de php setcookie(String name, String value, int expires, int path) para crear la cookie, los parámetros son los siguientes:
- String name : Nombre que le daremos a la cookie
- String value : Valor de la cookie
- int expires : Tiempo en el que expirará
- int path : Directorio en el que será valida la cookie.
Una vez que la cookie se ha creado nos vamos al archivo sitio-web.php.
<?php setcookie('pais-seleccionado',$_GET['pais'],time()+86400,'/'); header('Location:sitio-web.php'); ?>
En el archivo sitio-web.php solo hacemos algunas validaciones para saber a que página debemos mandar al usuario dependiendo su país.
<?php if(!$_COOKIE['pais-seleccionado']){ header('Location:ubicacion.php'); }else if($_COOKIE['pais-seleccionado'] == 'mx'){ header('Location:mexico.php'); }else if($_COOKIE['pais-seleccionado'] == 'us'){ header('Location:estados-unidos.php'); }else if($_COOKIE['pais-seleccionado'] == 'fr'){ header('Location:francia.php'); } ?>
Creamos un archivo por cada país, en los cuales simplemente incluimos un mensaje de bienvenida, agregamos la imagen de cada país y al final un enlace que nos permite borrar la cookie generada.
mexico.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>México</title> </head> <body> <center> <h2>Bienvenido a México</h2> <img src="img/mx.png"/> <br><br> <a href="borrar-cookie.php">Borrar cookie</a> </center> </body> </html>
estados-unidos.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>United States</title> </head> <body> <center> <h2>Welcome to the United States</h2> <img src="img/us.png"/> <br><br> <a href="borrar-cookie.php">Delete cookie</a> </center> </body> </html>
francia.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>France</title> </head> <body> <center> <h2>Bienvenue à France</h2> <img src="img/fr.png"/> <br><br> <a href="borrar-cookie.php">Effacer cookie</a> </center> </body> </html>
Finalmente creamos el archivo borrar-cookie.php, en php como tal no existe un método para eliminar las cookies pero lo podemos hacer con el misma función que generamos la cookie, solo le asignamos un valor vació, y a la función time() le restamos 1, con esto aseguramos que se caduque nuestra cookie.
<?php setcookie('pais-seleccionado','',time()-1,'/'); header('Location:ubicacion.php'); ?>
Bien con esto concluimos este ejemplo para aprender como crear cookies con php, como siempre, seria genial conocer tu opinión sobre el tema y si te pareció interesante ¡Compártelo con tus amigos!
meeeeee sirvio muchisimoooooooo!!!!!!!
Genial Faty!