Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/Aut Ses Coo/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
 
(19 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/dwes/B2T5/opp/nav}}
 
{{:Usuario:ManuelRomero/dwes/B2T5/opp/nav}}
__NOTOC__
 
 
===Autentificación===
 
===Autentificación===
 
====Ficheros de usuarios====
 
====Ficheros de usuarios====
 +
<br />
 
{{MRM_Actividad|Title=Ficheros de usuarios|
 
{{MRM_Actividad|Title=Ficheros de usuarios|
 
*crea un fichero llamado '''''misUsuarios''''' y añade 3 usuarios maria/maria nieves/nieves sara/sara. Se indica usuario/password
 
*crea un fichero llamado '''''misUsuarios''''' y añade 3 usuarios maria/maria nieves/nieves sara/sara. Se indica usuario/password
Línea 19: Línea 19:
 
   htpasswd  misUsuarios nieves
 
   htpasswd  misUsuarios nieves
 
   htpasswd misUsuarios nieves
 
   htpasswd misUsuarios nieves
 +
}}
 +
====Leer con php datos de la autentificación====
 +
<br />
 +
{{MRM_Actividad|Title=Accediendo con php a la autentificación|
 +
*Modifica la página restringida para ver el usuario y password así como el método usado de autentifiación
 +
*El código que habría que añadir:
 +
<source lang=php>
 +
  <?php
 +
        echo "te has autentificado como:<br/>";
 +
       
 +
        echo "Usuario: ". $_SERVER['PHP_AUTH_USER']."<br/>";
 +
        echo "Password: ". $_SERVER['PHP_AUTH_PW']."<br/>";
 +
        echo "Tipo de autentificacion: ". $_SERVER['AUTH_TYPE'];
 +
  ?>
 +
</source>
 +
}}
 +
====Accesos Restringidos====
 +
<br />
 +
{{MRM_Actividad|Title= Accesos restringidos|
 +
*Utilizando la autentificción de usuario y pass en el servidor y ficheros .htaccess,
 +
*Crea un fichero de contraseñas llamado '''''misUsuarios''''' con por ejemplo 5 usuarios  (alicia, sara, jorge, paula, manolo)
 +
*Crea un fichero de grupos con por 1 grupo  (grupo_familia) al que pertenecerán sara, alicia y paula)
 +
 +
*Crea un sencillo sitio web que me redirija a 4 páginas:
 +
#'''''Información General''''' :  Tendrá acceso todo el mundo
 +
#'''''Información restringida''''':  Sólo tenrán acceso los usuarios creados en el fichero misUsuarios
 +
#'''''Información Sara''''' :  Tendrá acceso solo el usuario sara
 +
#'''''Información de grupo''''' : Tendrá acceso los usuarios 3 usuarios de los 5 creados (sara alicia y paula).
 +
*Cada página simplemente contredrá un texto en h1
 +
{{MRM_Recursos de la Web|http://manuel.infenlaces.com/dwes/acceso_restringido/}}
 +
{{Tip|Ten en cuenta los propietarios de la carpeta (el grupo que pertenezca a www-data}}
 +
}}
 +
 +
====Controlando accesos====
 +
<br />
 +
{{MRM_Actividad|Title=Controlando accesos|
 +
Haz un programa en el que controlemos que el usuario con tu nombre y la misma password pueda acceder
 +
Solo se dejarán 3 intentos si al tercer intento no lo consigue se le anulará la posibilidad de seguir intentándolo
 +
{{Tip|En seguida veremos las variables de sesión, pero aún hay que recurrir a los campos ocultos, que muchas veces serán muy útiles :) }}
 +
}}
 +
 +
===Sesiones===
 +
====Localiza variables de sesión====
 +
<br />
 +
{{MRM_Actividad|Title=Variables de sesión|
 +
*Localiza y actualiza estas directivas en tu fichero de configuración
 +
*coméntalas con tus palabras en dicho fichero}}
 +
====Cuenta de visitas====
 +
<br />
 +
{{Actividad|Title)=Cuenta visitas|
 +
;Haz un programa que te cuente cuantas visitas recibe la página
 +
:Posible solución
 +
<source lang="php">
 +
<? session_start();
 +
if (!isset($_SESSION["visitas"])){
 +
    $_SESSION["visitas"] = 1;
 +
}else{
 +
    $_SESSION["visitas"]++;
 +
}
 +
?>
 +
<html>
 +
<head>
 +
<title>Contar páginas vistas por un usuario en toda su sesión</title>
 +
</head>
 +
 +
<body>
 +
<?
 +
echo "Desde que entraste has visto " . $_SESSION["visitas"] . " páginas";
 +
?>
 +
<br>
 +
<br>
 +
<a href="otracuenta.php">Ver otra página</a>
 +
</body>
 +
</html>
 +
</source>
 +
}}
 +
{{MRM_Actividad|Title= Almacena las fechas de cada visita|
 +
Modifica el programa anterior para almacenar el momento en el cual se produjo cada visita
 +
 +
<source lang=php>
 +
<?php
 +
// Iniciamos la sesión o recuperamos la anterior sesión existente
 +
session_start();
 +
// En cada visita añadimos un valor al array "visitas"
 +
$_SESSION['visitas'][] = mktime();
 +
?> 
 +
</source>
 +
}}
 +
 +
 +
{{MRM_Actividad|Title= Control de acceso con autentificación|
 +
*Crea una página similar a la anterior usada en cookies,
 +
*Almacena en la sesión de usuario los instantes de todas sus últimas visitas.
 +
*Si es su primera visita, muestra un mensaje de bienvenida.
 +
*En caso contrario, muestra la fecha y hora de todas sus visitas anteriores. Añade un botón a la página que permita borrar el registro de visitas.
 +
*Utiliza también una variable de sesión para comprobar si el usuario se ha autentificado correctamente. De esta forma no hará falta comprobar las credenciales con la base de datos constantemente.
 +
;Propuesta de solución
 +
<source lang=php>
 +
<?php
 +
// Si el usuario aún no se ha autentificado, pedimos las credenciales
 +
if (!isset($_SERVER['PHP_AUTH_USER'])) {
 +
    header('WWW-Authenticate: Basic realm="Contenido restringido"');
 +
    header("HTTP/1.0 401 Unauthorized");
 +
    exit;
 +
}
 +
// Vamos a guardar el usuario en una variable de sesión
 +
// si no existe, aún no se ha autentificado
 +
session_start();
 +
if (!isset($_SESSION['usuario'])) {
 +
// Aquí podríamos conectar a una vbase de satos para ver recuperar datos de la base de datos
 +
//y verificar si hay o no concordancia.
 +
$autentificado=false;
 +
if ($_SERVER['PHP_AUTH_USER']=="manolo" AND $_SERVER['PHP_AUTH_PW']=="manolo")
 +
    $autentificado=true;
 +
 +
// Si no existe, se vuelven a pedir las credenciales
 +
        if ($autentificado == false) {
 +
            header('WWW-Authenticate: Basic realm="Contenido restringido"');
 +
            header("HTTP/1.0 401 Unauthorized");
 +
            exit;
 +
        } else
 +
            $_SESSION['usuario'] = $_SERVER['PHP_AUTH_USER'];
 +
    }
 +
}
 +
// Si ya está autentificado
 +
else {
 +
// Comprobamos si se ha enviado el formulario de limpiar el registro
 +
    if (isset($_POST['limpiar']))
 +
        unset($_SESSION['visita']);
 +
    else
 +
        $_SESSION['visita'][] = time();
 +
}
 +
?>
 +
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
 +
    http://www.w3.org/TR/html4/loose.dtd">
 +
<html>
 +
    <head>
 +
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 +
        <title>Ejemplo Tema 4: Cookies en autentificación HTTP</title><link href="dwes.css" rel="stylesheet" type="text/css">
 +
    </head>
 +
    <body>
 +
        <?php
 +
        if ($error == null) {
 +
            echo "Nombre de usuario: " . $_SERVER['PHP_AUTH_USER'] . "<br />";
 +
            echo "Hash de la contraseña: " . md5($_SERVER['PHP_AUTH_PW']) . "<br />";
 +
            if (count($_SESSION['visita']) == 0)
 +
                echo "Bienvenido. Esta es su primera visita.";
 +
            else {
 +
                date_default_timezone_set('Europe/Madrid');
 +
                foreach ($_SESSION['visita'] as $v)
 +
                    echo date("d/m/y \a \l\a\s H:i", $v) . "<br />";
 +
                ?>
 +
                <form id='vaciar' action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
 +
                    <input type='submit' name='limpiar' value='Limpiar registro'/>
 +
                </form>
 +
                <?php
 +
            }
 +
        } else
 +
            echo "Se ha producido el error $error.<br />";
 +
        ?>
 +
    </body>
 +
</html>
 +
</source>
 +
}}
 +
 +
{{MRM_Actividad|Title=Más ejercicios para practicar|
 +
Ejercicios:
 +
* http://www.mclibre.org/consultar/php/ejercicios/nivel_medio/sesiones/sesiones.html
 +
** Formulario en tres pasos
 +
** Almacenamiento de datos en sesión
 +
* http://www.mclibre.org/consultar/php/ejercicios/nivel_medio/registro_de_usuarios_1.html
 +
}}
 +
 +
===Cookies===
 +
 +
====Almacenar el momento de las visitas a una página====
 +
<br />
 +
{{MRM_Actividad|Title=Cookies con momento de visita|
 +
*En una página llamada registro.php , almacena en una cookie el último instante en la que se  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 solución
 +
*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>
 +
 +
}}
 +
 +
===Coockies de secciones===
 +
<br />
 +
{{MRM_Actividad|
 +
*Crea una pagina que simule ser la de un periódico. La misma debe permitir configurar que tipo de titular deseamos que aparezca al visitarla, pudiendo ser:
 +
#Noticia política.
 +
#Noticia económica.
 +
#Noticia deportiva.
 +
*Mediante tres objetos de tipo radio, permitir seleccionar que titular debe mostrar el periódico.
 +
*Almacenar en una cookie el tipo de titutar que desea ver el cliente.
 +
*La primera vez que visita el sitio deben aparecer los tres titulares.
 +
<!--
 +
{{Plegable|hide|Posible código |
 +
<source lang=php>
 +
<!DOCTYPE html>
 +
<!--
 +
To change this license header, choose License Headers in Project Properties.
 +
To change this template file, choose Tools | Templates
 +
and open the template in the editor.
 +
-->
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
        <link rel=stylesheet href="estilo.css"  type = text/css />
 +
    </head>
 +
    <body>
 +
        <?php
 +
        //Primero leo la cookie por si existe
 +
        $opcion = $_COOKIE['seccion'];
 +
 +
        //Si he dado borrar cookie, la borro y anulo el valor de la variable
 +
        //que contiene la cookie para la ejecución acutal
 +
        if (isset($_POST['borrar'])) {
 +
            setcookie('seccion', $opcion, time() - 1);
 +
            $opcion = null;
 +
        }
 +
 +
        //Si he dado enviar es para guardar la cookie
 +
        //La leo del input radio y me guardo ese  valor
 +
        //en una variable para el script actual
 +
        if (isset($_POST['enviar'])) {
 +
            $opcion = $_POST['seccion'];
 +
            setcookie('seccion', $opcion, time() + 3600);
 +
        }
 +
 +
        //Si no hay cookie muestro los radio, si no no los muestro
 +
        //(Decisión personal...)
 +
        if ($opcion == null) {
 +
            ?>
 +
            <h3>Si quieres especifica tu sección favorita y solo verás esa</h3>
 +
            <form action ="." method="POST">
 +
                <input type="radio" name="seccion" value="noticias">Noticias<br />
 +
                <input type="radio" name="seccion" value="deporte">Deporte<br />
 +
                <input type="radio" name="seccion" value="economia">Economía<br />
 +
                <input type="submit" value="Recordar" name="enviar">
 +
                <hr /><br /><br />
 +
            </form>
 +
            <?php
 +
            //Si sí que hay cookie y no muestro las opciones de radio
 +
            //Muestro un botón para borrar cookie
 +
        } else {
 +
            ?>
 +
            <h1> En tu última selección de sección seleccionaste <strong><?php echo $opcion ?> </strong> </h1>
 +
            <form action='.' method='POST'><input type='submit' value='Borrar Cookie' name='borrar'>
 +
                <hr /><br /><br />
 +
            </form>
 +
            <?php
 +
        }
 +
 +
        //En cada caso mostraré esta sección del supuesto periódico
 +
        //Si es la sección de la cookie (en cuyo caso solo mostraré esta)
 +
        //O si no hay cookie las voy a mostar todas, y por lo tanto también esta ...
 +
        if (($opcion == 'noticias') || ($opcion == null)):
 +
            ?>
 +
            <div id = "secciones">
 +
                <h2>Noticias</h2>
 +
                <p>
 +
                    La realidad virtual, además de verse y oírse, ahora puede tocarse.
 +
                    Un grupo de estudiantes del London’s Royal College of Art han creado
 +
                    un traje que permite sentirla a través del tacto.
 +
                    Utiliza solenoides, dispositivos que producen
 +
                    campos magnéticos a partir de corrientes eléctricas.
 +
                    En este caso crean los campos a partir de diferentes sonidos,
 +
                    cuyas vibraciones se sienten en la piel.
 +
                    Las distintas frecuencias y ondas sonoras provocan sensaciones variadas.
 +
                </p>
 +
            </div>
 +
            <?php
 +
        endif;
 +
        if (($opcion == 'economia') || ($opcion == null)):
 +
            ?>
 +
            <div id = "secciones">
 +
                <h2>Economía</h2>
 +
                <p>
 +
                    La actividad económica española, medida por el producto interior bruto
 +
                    (PIB), se multiplicó por 50 entre 1850 y 2015,
 +
                    lo que supone una tasa acumulativa anual del 2, 4%.
 +
                    Pero, ¿en qué medida afectó a las condiciones de vida de la población?
 +
                    Dado que la población se triplicó, el PIB real por habitante
 +
                    aumentó alrededor de 16 veces,
 +
                    creciendo anualmente, en promedio, al 1, 7%, pero mostrando un ritmo
 +
                    desigual.
 +
                    Así, entre 1850 y 1950, el PIB per cápita creció al 0, 7%,
 +
                    duplicando su nivel inicial.
 +
                </p>
 +
            </div>
 +
            <?php
 +
        endif;
 +
        if (($opcion == 'deporte') || ($opcion == null)):
 +
            ?>
 +
            <div id = "secciones">
 +
                <h2>Deporte</h2>
 +
                <p>
 +
                    El español Rafael Nadal derrotó al canadiense Milos Raonic,
 +
                    tercer favorito, por 6-4, 7-6 (7) y 6-4 en dos horas y 44 minutos,
 +
                    para marcar su victoria 50 en el Abierto de Australia y alcanzar por
 +
                    quinta vez las semifinales.
 +
                    El campeón de 2009 y finalista en 2012 y 2014,
 +
                    se enfrentará por un puesto para la final contra el búlgaro
 +
                    Grigor Dimitrov, que derrotó antes al belga David Goffin,
 +
                    por 6-3, 6-2 y 6-4, en dos horas y 13 minutos.
 +
                    Será la 24 semifinal de Rafael Nadal en el Grand Slam,
 +
                </p>
 +
            </div>
 +
        <?php endif; ?>
 +
    </body>
 +
</html>
 +
</source>
 +
}}
 +
{{Plegable|hide|Css para el ejercicio|
 +
<source lang=css>
 +
#secciones{
 +
    border: 0.25em solid;
 +
    align : center;
 +
    left: 10%;
 +
    background-color: #eee;
 +
    font-size: 1.1em;
 +
}
 +
</source>}}
 +
}}
 +
-->
 +
 +
{{MRM_Actividad|Title=Realiza el ejercicio de la siguiente referencia|
 +
http://www.mclibre.org/consultar/php/ejercicios/cookies/cookies.html
 
}}
 
}}

Última revisión de 21:26 8 nov 2018




Autentificación

Ficheros de usuarios



Icon activity.jpg
Ficheros de usuarios
  • crea un fichero llamado misUsuarios y añade 3 usuarios maria/maria nieves/nieves sara/sara. Se indica usuario/password
  • Posteriormente visualiza el contenido del fichero
  • Observa cómo la pass aparece cifrada
Modo de actuación

1.- Primero nos ubicamos en el directorio donde queramos añadir o crear el fichero

cd /home/MiUsuario
MiUsuario es vuestro propio directorio

2.-Ahora creamos un directorio para guardar esta información y nos movemos en él

mkdir usuarios
cd usuarios

3.-Una vez correctamente ubicados generamos el fichero de las password con la herramienta htpasswd

La primera vez con opción -c para crear el fichero
 htpasswd -c misUsuarios maria
 htpasswd  misUsuarios nieves
 htpasswd misUsuarios nieves



Leer con php datos de la autentificación



Icon activity.jpg
Accediendo con php a la autentificación
  • Modifica la página restringida para ver el usuario y password así como el método usado de autentifiación
  • El código que habría que añadir:
  <?php 
        echo "te has autentificado como:<br/>";
 
        echo "Usuario: ". $_SERVER['PHP_AUTH_USER']."<br/>";
        echo "Password: ". $_SERVER['PHP_AUTH_PW']."<br/>";
        echo "Tipo de autentificacion: ". $_SERVER['AUTH_TYPE'];
  ?>



Accesos Restringidos



Icon activity.jpg
Accesos restringidos
  • Utilizando la autentificción de usuario y pass en el servidor y ficheros .htaccess,
  • Crea un fichero de contraseñas llamado misUsuarios con por ejemplo 5 usuarios (alicia, sara, jorge, paula, manolo)
  • Crea un fichero de grupos con por 1 grupo (grupo_familia) al que pertenecerán sara, alicia y paula)
  • Crea un sencillo sitio web que me redirija a 4 páginas:
  1. Información General : Tendrá acceso todo el mundo
  2. Información restringida: Sólo tenrán acceso los usuarios creados en el fichero misUsuarios
  3. Información Sara : Tendrá acceso solo el usuario sara
  4. Información de grupo : Tendrá acceso los usuarios 3 usuarios de los 5 creados (sara alicia y paula).
  • Cada página simplemente contredrá un texto en h1



Icon present.gif
Tip: Ten en cuenta los propietarios de la carpeta (el grupo que pertenezca a www-data





Controlando accesos



Icon activity.jpg
Controlando accesos

Haz un programa en el que controlemos que el usuario con tu nombre y la misma password pueda acceder Solo se dejarán 3 intentos si al tercer intento no lo consigue se le anulará la posibilidad de seguir intentándolo

Icon present.gif
Tip: En seguida veremos las variables de sesión, pero aún hay que recurrir a los campos ocultos, que muchas veces serán muy útiles :)





Sesiones

Localiza variables de sesión



Icon activity.jpg
Variables de sesión
  • Localiza y actualiza estas directivas en tu fichero de configuración
  • coméntalas con tus palabras en dicho fichero


Cuenta de visitas



Icon activity.jpg

Actividad

Haz un programa que te cuente cuantas visitas recibe la página
Posible solución
<? session_start();
if (!isset($_SESSION["visitas"])){
    $_SESSION["visitas"] = 1;
}else{
    $_SESSION["visitas"]++;
}
?>
<html>
<head>
<title>Contar páginas vistas por un usuario en toda su sesión</title>
</head>
 
<body>
<?
echo "Desde que entraste has visto " . $_SESSION["visitas"] . " páginas";
?>
<br>
<br>
<a href="otracuenta.php">Ver otra página</a>
</body>
</html>






Icon activity.jpg
Almacena las fechas de cada visita

Modifica el programa anterior para almacenar el momento en el cual se produjo cada visita

<?php
// Iniciamos la sesión o recuperamos la anterior sesión existente
session_start();
// En cada visita añadimos un valor al array "visitas"
$_SESSION['visitas'][] = mktime();
?>






Icon activity.jpg
Control de acceso con autentificación
  • Crea una página similar a la anterior usada en cookies,
  • Almacena en la sesión de usuario los instantes de todas sus últimas visitas.
  • Si es su primera visita, muestra un mensaje de bienvenida.
  • En caso contrario, muestra la fecha y hora de todas sus visitas anteriores. Añade un botón a la página que permita borrar el registro de visitas.
  • Utiliza también una variable de sesión para comprobar si el usuario se ha autentificado correctamente. De esta forma no hará falta comprobar las credenciales con la base de datos constantemente.
Propuesta de solución
<?php
// Si el usuario aún no se ha autentificado, pedimos las credenciales
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Contenido restringido"');
    header("HTTP/1.0 401 Unauthorized");
    exit;
}
// Vamos a guardar el usuario en una variable de sesión
// si no existe, aún no se ha autentificado
session_start();
if (!isset($_SESSION['usuario'])) {
// Aquí podríamos conectar a una vbase de satos para ver recuperar datos de la base de datos
//y verificar si hay o no concordancia.
$autentificado=false;
if ($_SERVER['PHP_AUTH_USER']=="manolo" AND $_SERVER['PHP_AUTH_PW']=="manolo")
    $autentificado=true;
 
// Si no existe, se vuelven a pedir las credenciales
        if ($autentificado == false) {
            header('WWW-Authenticate: Basic realm="Contenido restringido"');
            header("HTTP/1.0 401 Unauthorized");
            exit;
        } else
            $_SESSION['usuario'] = $_SERVER['PHP_AUTH_USER'];
    }
}
// Si ya está autentificado
else {
// Comprobamos si se ha enviado el formulario de limpiar el registro
    if (isset($_POST['limpiar']))
        unset($_SESSION['visita']);
    else
        $_SESSION['visita'][] = time();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>Ejemplo Tema 4: Cookies en autentificación HTTP</title><link href="dwes.css" rel="stylesheet" type="text/css">
    </head>
    <body>
        <?php
        if ($error == null) {
            echo "Nombre de usuario: " . $_SERVER['PHP_AUTH_USER'] . "<br />";
            echo "Hash de la contraseña: " . md5($_SERVER['PHP_AUTH_PW']) . "<br />";
            if (count($_SESSION['visita']) == 0)
                echo "Bienvenido. Esta es su primera visita.";
            else {
                date_default_timezone_set('Europe/Madrid');
                foreach ($_SESSION['visita'] as $v)
                    echo date("d/m/y \a \l\a\s H:i", $v) . "<br />";
                ?>
                <form id='vaciar' action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
                    <input type='submit' name='limpiar' value='Limpiar registro'/>
                </form>
                <?php
            }
        } else
            echo "Se ha producido el error $error.<br />";
        ?>
    </body>
</html>






Cookies

Almacenar el momento de las visitas a una página



Icon activity.jpg
Cookies con momento de visita
  • En una página llamada registro.php , almacena en una cookie el último instante en la que se 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 solución
  • Tomado el ejemplo anterior (de autentificación), habría que añadir el siguiente código
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."




Coockies de secciones



Icon activity.jpg
Actividad


}} -->



Icon activity.jpg
Realiza el ejercicio de la siguiente referencia
http://www.mclibre.org/consultar/php/ejercicios/cookies/cookies.html