200 likes | 359 Views
Almacenar variables en cookies en PHP. Programación en Internet II. Almacenar variables en cookies en PHP. En una cookie se puede almacenar muy pocos datos (hasta un máximo de 4093 caracteres por cada cookie),
E N D
Almacenar variables en cookies en PHP Programación en Internet II
Almacenar variables en cookies en PHP En una cookie se puede almacenar muy pocos datos (hasta un máximo de 4093 caracteres por cada cookie), y solo es posible almacenar hasta 20 cookies por dominio (esto es importante tenerlo presente por si en distintas sesiones de nuestro sitio hacemos uso de cookies), y un navegador solo puede almacenar hasta 300 cookies en total, compartidas entre todos los sitios que ese usuario visita (de lo contario, el navegador empezara a eliminar las cookies más antiguas, Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP lo que constituye la razón de que algunos sitios que usan cookies para recordar nuestros datos, nos vuelvan a pedir una y otra vez que nos identifiquemos, periódicamente: es porque su cookie fue borrada , desplazada por otras cookies mas nuevas de otros sitios que fuimos visitando). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Debido a esa “escasez“ de recursos de las cookies, es muy común almacenar únicamente un código en la cookie, para que identifique a ese usuario en ese navegador en esa computadora, y el resto de los datos asociados se almacena en el servidor ( en el hosting, generalmente en base de datos). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Un antigua mito (más de diez años, ¡una eternidad en la historia de la web!) genera toda clase de rumores en torno a las cookies: se dice que revelan nuestros datos privados, que espían nuestra computadora, y muchas otras fantasías, causadas por el desconocimiento de sus verdaderos límites. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP La única capacidad real de una cookie es la de almacenar algunos pocos datos en variables, que luego podremos utilizar cuando, desde la misma máquina y usando el mismo navegador, ese usuario ingrese nuevamente a nuestra página web. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Este detalle casi trivial merece ser recalcado: no es el usuario en sí, y ni siquiera es la computadora del usuario la que queda identificada, sino apenas el navegador que se utilizo; si desde la misma computadora ingresara el mismo sitio web el hermano o el compañero de trabajo de nuestro usuario utilizando el mismo navegador , lo confundiéramos con nuestro usuario. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Y, por el contrario, si el mismo usuario ingresa usando otro navegador, o desde otra computadora, no lo reconoceremos… y algo más: solamente se puede leer la cookie desde el dominio que la creo, así que de “espionaje”, poco y nada. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Salvo en caso demasiado sofisticado, que solo son posibles para grandes empresas de publicidad online, que hospedan sus banner en un mismo dominio pero los publican en distintos sitios y, de esta manera, detectan el código de su cookie a lo largo de varios sitios, y pueden llevar estadísticas del perfil de visitas de un usuario: si visito tal diario, y luego tal otro sitio de remates, etc. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Pero eso únicamente crea perfiles para mostrar publicidades afines al usuario, y no datos individualizables con nombre y apellido (salvo excepciones que, como las brujas, no existen, pero “que las hay, las hay…” aunque requieren que algunos de los sitios de la cadena compartan sus bases de datos, algo que entra en el terreno de lo legal más que de la programación). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Existen algunas consideraciones a tener en cuenta antes de pasar al código. Las cookies se generan a través de una orden de que debe llegar al navegador del usuario antes de que este procese el código HTML que nos hará ver una página en nuestra pantalla. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Para lograr esto, la orden para la creación de la cookie debe viajar en el header o encabezado de la dirección HTTP que nos trae el archivo HTML, desde el servidor hacia el navegador; por lo que la ejecución de la función que crea un archivo de cookies debe ser anterior a cualquier código HTML o a cualquier echo de PHP que ya en la página (igual que con las sesiones, como veremos pronto), para que llegue dentro de los encabezados de la petición HTTP. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP En el siguiente ejemplo veremos cuál sería la ubicación del código que crea una cookie: <?phpsetcookie("nombre" ,"Juancito");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtmll-strict.dtd"><html ...etc ...</html> Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Analicemos el código precedente. La función setcookie, incluida en el lenguaje PHP, recibe como primer “argumento” (primera cosa dentro de sus paréntesis) el nombre de la variable que se almacenara en la cookie y, como segundo argumento (separado por una como del argumento anterior), el dato que desea almacenarse dentro de esa variable, que el navegador guardara en un archivo de texto de la computadora del usuario: Setcookie(“nombre”, “Juancito”); Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP La función setcookie permite especificar varios otros argumentos dentro de sus paréntesis, pero son todos opcionales: Setcookie (nombre , valor, duracion, ruta, dominio, seguridad) Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Algunos de ellos los veremos algunos párrafos más adelante. Pero con esos dos datos (el nombre de la variable y su valor), separados por comas y envueltos entre comillas, es suficiente para crear una cookie y guardar un dato. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Este ejemplo, que define una variable denominada “nombre” con el valor “Juancito”, ha creado realmente una cookie (probemos de ejecutarlo en nuestro servidor local, o en nuestro hosting). Como no se ve nada especial en la pantalla, nos queda la duda: no sabemos si se a logrado crear esta cookie, o no… Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP Afortunadamente, es my fácil comprobar si se creo, o no: podemos ver con nuestro propio navegador todas las cookies que ese navegador ha almacenado, y cuál es el valor que guarda dentro cada una de ellas. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP En cada navegador es diferente la forma de acceder a las cookies; por ejemplo, en Firefox, accedemos entrando al menú Herramientas →Opciones →Privacidad→ Eliminar cookies de forma individual, que nos muestra el listado de cookies que existe en ese navegador, así como su contenido, su fecha de expiración y otras informaciones complementarias. En este caso, se vería de esta manera: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Almacenar variables en cookies en PHP 1 Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa