|
|
Línea 61: |
Línea 61: |
| * En caso contrario, muestra la fecha y hora de su anterior visita. | | * 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. | | * 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 |
| + | <source lang=php> |
| + | |
| + | if($resultado->num_rows == 0) { |
| + | //...... |
| + | |
| + | |
| + | else { |
| + | if (isset($_COOKIE['ultimo_login'])) { |
| + | $ultimo_login = $_COOKIE['ultimo_login']; |
| + | } |
| + | setcookie("ultimo_login", time(), time()+3600); |
| + | } |
| + | |
| + | //..... y una vez dentro de la página |
| + | |
| + | if (isset($ultimo_login)) |
| + | echo "Ultimo login: " . date("d/m/y \a \l\a\s H:i", $ultimo_login); |
| + | else |
| + | echo "Bienvenido. Esta es su primera visita." |
| + | |
| + | |
| + | |
| + | |
| + | </source> |
| + | --> |
| }} | | }} |
| {{Resumen| | | {{Resumen| |
Revisión de 12:22 17 nov 2014
|
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas.
|
|
BLOQUE 2 PHP: PROGRACION DE APLICACIONES WEB EN ENTORNO SERVIDOR
¡El servidor te responde
PHP Un lenguaje de script al lado del servidor
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.
- Alamacenar o crear la cookie
- Poder leerla en un momento determinado
Crear una coockie
- Para ello usaremos la fucnión setCookie(...)
- En esta función puede recibir hasta 7 parámetros, (sólo el primero es obligatorio).
http://es.php.net/manual/es/function.setcookie.php
- Es habitual usar los tres primeros que serían
- Nombre de la cookie
- Valor que almacenamos en ella
- 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
setcookie("usuario", $_SERVER['PHP_AUTH_USER'], time()+3600);
- 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
$usuario = $_COOKIE['usuario'];
Borrar una cookie
- Para borrar la cookie usamos la función setcookie con un tiempo negativo
<?php
// Ponemos un tiempo de expiración negativo
setcookie("user", "", time()-3600);
?>
Actividad
- 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.
|
Resumen
Creación de coockies
<?php
$expire = time()*60*60*24*30 //La coockie durará un mes
setcookie("user", "Alex Porter", $expire);
?>
- Si tiempo de expiración es 0, la coockie que solo dura la sesion
<?php
$expire = =; //La coockie durará lo que dure la sesión
setcookie("user", "Alex Porter", $expire);
?>
Ver el valor de una cookie
<?php
// Ver una cookie concreta
echo $_COOKIE["user"];
// Para ver todas las cookies
print_r($_COOKIE);
?>
Borrado
<?php
// Ponemos un tiempo negativo
setcookie("user", "", time()-3600);
?>
|
}}
Referencias en la web
Normativa: Directiva 2009/136/CE
|
|