Cómo escribir un script de 'última visita' en PHP

El código completo

 <?php

if(isset($_COOKIE['AboutVisit']))

{

$last = $_COOKIE['AboutVisit']; }

$year = 31536000 + time() ;

//this adds one year to the current time, for the cookie expiration

setcookie(AboutVisit, time (), $year) ;

if (isset ($last))

{

$change = time () - $last;

if ( $change > 86400)

{

echo "Welcome back! <br> You last visited on ". date("m/d/y",$last) ;

// Tells the user when they last visited if it was over a day ago

}

else

{

echo "Thanks for using our site!";

//Gives the user a message if they are visiting again in the same day

}

}

else

{

echo "Welcome to our site!";

//Greets a first time user

}

?>

En las siguientes páginas encontrará más información sobre cómo funciona este script y qué hace cada sección.

Configuración y recuperación de la cookie

 <?php if(isset($_COOKIE['AboutVisit']))

{

$last = $_COOKIE['AboutVisit']; }

 

En la primera parte del código, comprobamos si se ha establecido una cookie. Si nuestra cookie (llamada AboutVisit) está configurada, la recuperamos y la asignamos a la variable $last. Es importante que lo hagamos antes de fijar la cookie, de lo contrario, sobrescribiremos la fecha antigua antes de que la veamos.

 

 $year = 31536000 + time() ;

//this adds one year to the current time, for the cookie expiration

setcookie(AboutVisit, time (), $year) ;

A continuación, creamos una variable llamada $ año. Esto añade un año a la fecha actual, añadiendo 31.536.000 segundos (60 segundos * 60 minutos * 24 horas * 365 días.) Utilizamos esto como la fecha de expiración de la nueva cookie. Luego fijamos nuestra nueva cookie para que sea la hora actual. Debemos estar seguros cuando colocamos una cookie que es la primera cosa que se envía al navegador o que no funcionará. Cualquier texto, HTML, o incluso un título de página hará que no funcione. Todas estas cosas deben seguir a la galleta.

 

Bienvenido de nuevo

 if (isset ($last))

{

$change = time () - $last;

if ( $change > 86400)

{

echo "Welcome back! <br> You last visited on ". date("m/d/y",$last) ;

// Tells the user when they last visited if it was over a day ago

}

else

{

echo "Thanks for using our site!";

//Gives the user a message if they are visiting again in the same day

}

}

Este código comprueba primero si está configurado $last. Si recuerda del último paso, $last es la última vez que el visitante estuvo en el sitio. Si lo han visitado antes, entonces se ejecuta a través de dos opciones. Si el visitante ha visitado en el último día, simplemente les agradece por visitar el sitio. Sin embargo, si el visitante visitó hace más de 1 día (86.400 segundos), el mensaje les da la bienvenida y les recuerda la última vez que visitaron.

 

Nuevos usuarios

 else

{

echo "Welcome to our site!";

//Greets a first time user

}

?>

 

Si $last no existía, entonces este código se ejecuta. Simplemente le da la bienvenida al sitio a un usuario por primera vez. Ahora tienen un conjunto de cookies en su navegador para que no vuelvan a recibir este mensaje.

La parte superior del script, que recupera y establece la cookie, necesita ser colocada en la parte superior de la página para que funcione. El resto de este script puede ejecutarse en cualquier lugar de su sitio que desee dar la bienvenida a un usuario.

(0 votes)