Usuario:ManuelRomero/php/cookies

{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;"
 * width="100%" valign="top" style="padding: 0; margin:0px;" |

Qué es una Cookie

 * Una cookie es una pequeña cantidad de datos almacenada por el navegador del usuario cuando solicita una página a un servidor.
 * Con esto podemos suplir la característica de que http es un protocolo sin estado (Insistir en que esto es una característica del protocolo, no una limitación.
 * Una Cookie es un fichero que se almacene en el cliente y guarda información de ese cliente en referencia a una determinada sitio web.
 * Como se guardan en el cliente, se necesita confirmación expresa del cliente para dejar que se almacenen cosas en su equipo
 * En general no se debe de abusar de ellas, máxime cuando muchos las pueden tener deshabilitadas y esto puede impedir que nuestra aplicación web se ejecute de forma eficiente o incluso correcta.
 * El servidor es quien solicita la creación del coockie en el cliente
 * El cliente crea un fichero con dicha información
 * Una vez creada, solo puede ser leída por el sitio web que la creó.
 * Para trabajar con cookies tenemos que hacer dos cosas
 * El tamaño máximo de un cookie está limitado a 4K.
 * 1) Alamacenar o crear la cookie
 * 2) Poder leerla en un momento determinado

Crear una coockie
http://es.php.net/manual/es/function.setcookie.php
 * Para ello usaremos la fucnión setCookie(...)
 * En esta función puede recibir hasta 7 parámetros, (sólo el primero es obligatorio).
 * Es habitual usar los tres primeros que serían
 * 1) Nombre de la cookie
 * 2) Valor que almacenamos en ella
 * 3) Tiempo de expiración: es un entero en segundos. Si no se especifica, la cookie termiará junto a esta sesión.
 * Por ejemplo si quieremos almacenar el usuario y que tenga un tiempo de duración de 1 hora
 * Importante el envío de cookies al cliente ha de hacerse antes de que se escriba nada en html, igual que las funciones header.

Recuperar la cookie

 * El proceso de recuperación de la información que almacena una cookie es muy simple.
 * Cuando accedes a un sitio web, el navegador (cliente), le envía de forma automática todo el contenido de las cookies que almacene relativas a ese sitio en concreto (servidor).
 * Desde PHP se puede acceder a esta información por medio del array $_COOKIE.
 * Para recuperar los datos anteriores

Borrar una cookie
{{Actividad|
 * Para borrar la cookie usamos la función setcookie con un tiempo negativo
 * En la página registro.php anterior, almacena en una cookie el último instante en que el cualquier usuario visitó la página.
 * Si es su primera visita, muestra un mensaje de bienvenida.
 * En caso contrario, muestra la fecha y hora de su anterior visita.
 * Deberás utilizar la función setcookie para guardar el instante de su anterior visita y mostrar su contenido utilizando el array $_COOKIE.

Posible solucion

 * Tomado el ejemplo anterior (de autentificación), habría que añadir el siguiente código

}} {{Resumen|

Creación de coockies

 * Si tiempo de expiración es 0, la coockie que solo dura la sesion

Borrado
}}

}}

Coockies con array

 * En este caso la cookie en lugar de contener un solo valor va a contener un array
 * A la hora de leer la cookie se hace igual que hasta ahora
 * Supongamos que tenemos varias cookies, dependiendo del usuario que se ha conectado
 * De cada uno de esos usuarios tendríamos los accesos que ha realizado en un array indexado indicando la hora
 * Leemos la cookie
 * Guardar la cookie
 * Esto crea el plateamiento de como guardar la cookie a la hora de qué nombre va a tener esta cookie
 * Es como que en la misma cookie queremos guardar muchos valores, pero en realidad guardamos uno solo que es el array
 * Una manera de hacerlo es incorporar a la cookie ya guardada el nuevo índice
 * Para ello una manera de hacerlo es obtener el valor del indice del nuevo elemento obteniendo el tamaño del vector hasta ahora
 * Incorporamos en la posición correspondiente el nuevo valor

{{Actividad| http://www.manuel.infenlaces.com/cookies/
 * Añade en la base de datos usuarios varios usuarios diferentes
 * Crea un formulario para que el usuario sepuede registrar
 * Visualiza los accesos del usuario acutual así como los accesos del resto de usuarios
 * Aquí podemos ver el ejemplo
 * Para el formulario este sencillo css

Posible solución del ejercicio

 * Bases de datos donde habrá que actualizar las credenciales

}}


 * Firefox http://support.mozilla.org/es/kb/Borrar%20cookies?esab=a&s=cookies&r=2&as=s
 * Chrome/Chromium: http://support.google.com/chrome/bin/answer.py?hl=es&answer=95647
 * Internet Explorer: http://windows.microsoft.com/es-es/windows7/how-to-manage-cookies-in-internet-explorer-9
 * Opera: http://help.opera.com/Windows/11.50/es-ES/cookies.html
 * Safari: http://support.apple.com/kb/ph5042


 * }