cookie ('bloguearas esto')Las cookies son una forma de almacenar contenidos en el lado del usuario marcando de esta manera su acceso, autentificando o guardando información especifica dinámicamente.

Las cookies tienen 3 valores específicos: Nombre de cookie, un valor a almacenar en la cookie y un tiempo valido de la cookie. El tiempo valido es un valor a partir del cual cuando se sobrepase ese tiempo se elimina la cookie del navegador del usuario.

La función de hoy se trata de un gestor de cookies. Se utiliza para escribir y leer cookies en los navegadores de los usuarios de forma sencilla.

PHP:
  1. function cookie($accion, $nombre, $valor = '', $tiempo = ''){
  2.     if($accion == 'leer'){
  3.         return $_COOKIE[$nombre];
  4.     } elseif($accion == 'escribir'){
  5.         $un_segundo = 1;
  6.         $un_minuto  = $un_segundo * 60;
  7.         $un_hora        = $un_minuto        * 60;
  8.         $un_dia  = $un_hora      * 24;
  9.         $un_semana  = $un_dia  * 7;
  10.         $un_mes  = $un_semana  * 4;
  11.         $un_anio        = $un_mes      * 12;
  12.         if($tiempo == ''){
  13.             $tiempo = time()+$un_anio;
  14.         } elseif(
  15.             $tiempo == 'minuto' ||
  16.             $tiempo == 'hora'   ||
  17.             $tiempo == 'dia'    ||
  18.             $tiempo == 'semana' ||
  19.             $tiempo == 'mes'    ||
  20.             $tiempo == 'anio'
  21.         ) {
  22.             eval('$tiempo = $un_'.$tiempo.';');
  23.         } elseif($tiempo <time()){
  24.             $tiempo = time()+$tiempo;
  25.         }
  26.         return setcookie($nombre, $valor, $tiempo, "/");
  27.     } else {
  28.         return 'ERROR, la accion '.$accion.' no se ha reconocido. Por favor, intente las opciones "leer" y "escribir".';
  29.     }
  30. }

Ejemplos de utilización:

Leer una cookie.

PHP:
  1. echo cookie('leer', 'nombre_de_cookie');

Escribir una cookie.
-A partir de un año

PHP:
  1. echo cookie('escribir', 'nombre_de_cookie', 'valor de la cookie');

-A partir de un tiempo establecido (6000 desde ahora)

PHP:
  1. echo cookie('escribir', 'nombre_de_cookie', 'valor de la cookie', time()+6000);

-A partir de un tiempo desde el momento actual (ejemplo 6000)

PHP:
  1. echo cookie('escribir', 'nombre_de_cookie', 'valor de la cookie', 6000);

-A partir de un texto que indica un tiempo (ejemplo, un dia) valores posibles: minuto, horadia, semana, mes, anio.

PHP:
  1. echo cookie('escribir', 'nombre_de_cookie', 'valor de la cookie', 'dia');