Creación y lectura de cookies con PHP
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.
-
function cookie($accion, $nombre, $valor = '', $tiempo = ''){
-
if($accion == 'leer'){
-
return $_COOKIE[$nombre];
-
} elseif($accion == 'escribir'){
-
$un_segundo = 1;
-
$un_minuto = $un_segundo * 60;
-
$un_hora = $un_minuto * 60;
-
$un_dia = $un_hora * 24;
-
$un_semana = $un_dia * 7;
-
$un_mes = $un_semana * 4;
-
$un_anio = $un_mes * 12;
-
if($tiempo == ''){
-
} elseif(
-
$tiempo == 'minuto' ||
-
$tiempo == 'hora' ||
-
$tiempo == 'dia' ||
-
$tiempo == 'semana' ||
-
$tiempo == 'mes' ||
-
$tiempo == 'anio'
-
) {
-
} elseif($tiempo <time()){
-
}
-
} else {
-
return 'ERROR, la accion '.$accion.' no se ha reconocido. Por favor, intente las opciones "leer" y "escribir".';
-
}
-
}
Ejemplos de utilización:
Leer una cookie.
Escribir una cookie.
-A partir de un año
-A partir de un tiempo establecido (6000 desde ahora)
-A partir de un tiempo desde el momento actual (ejemplo 6000)
-A partir de un texto que indica un tiempo (ejemplo, un dia) valores posibles: minuto, horadia, semana, mes, anio.
Hay una frase muy buena que es: “No applets, No javascript, No Cookies”… para el funcionamiento correcto de las webs… (yo añadiría tb “No flash”, pero vamos)… ¿Para qué usar Cookies teniendo variables de sesión del lado del servidor?
Hola Ricardo Sánchez,
tienes razón en parte, ya que si la web necesita el sistema de cookies y todo lo que indicas para poder funcionar irremediablemente, si, es algo malo.
En cambio muchas aplicaciones las usan para autenticar a los usuarios, o guardar datos de personalización. Incluso algunos sistemas de seguridad las usas como verificación del ordenador autenticado ya que varios ordenadores dentro de una misma red suelen tener la misma IP de cara al PHP.
Muchas veces se necesita almacenar variables entre paginas y es muy engorroso utilizar GET o POST para hacerlo y también se utilizan por medio de funciones como session() o directamente utilizando otras como mi función de cookies…
Sobre los applets, si, los odio.. javascript me parece necesario hoy en día para hacer una web algo mas usable sin recargas continuas o darle un punto de dinamismo y flash, es un mal menor para utilizar cualquier tipo de medio multimedia comparado con los applet java o los ActivX.
Usar flash para animaciones simples me parece un completo atraso la verdad…