Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Gestionar Cookies con Javascript

Tanto en NiNaiz como en GuGara la mayoría de las páginas están cacheadas, es decir, cada vez que hay una petición de una página, en vez de ejecutarse todas las consultas a Bases de Datos y código PHP para generar la página, se muestra una página estática generada anteriormente.

Esa página sólo se volverá a generar de nuevo cuando haya algún cambio en ella.

Ésto permite no sobrecargar el servidor con un montón de consulas, con el riesgo de que el proveedor de Hosting me cancele la cuenta.

Éste sistema de cacheo no me permite gestionar las cookies desde el servidos (con PHP), ya que las páginas están creadas anteriormente, con lo que para poder tener un sistema para recordar datos en los Formularios he tenido que hechar mano de Javascript.

Javascript es un lenguaje que se ejecuta en el navegador del cliente y que tiene problemas de accesibilidad, ya que mucha gente no lo tiene instalado en su navegador o utilizan navegadores que no lo soportan (Lynx), en éste caso como no afecta a la navegación, es decir, el sitio funciona perfectamente, lo único que si no se tiene Javascript no recordará los datos introducidos en el formulario.

Para ello he utilizado 2 funciones, la primerar getCookie es una función muy utilizada y explicada en muchos sitios de Internet que lo que hace es darte el valor de la cookie que le pases como name.

<SCRIPT LANGUAGE="JavaScript">
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}

La segunda función lo que hace es cojer el valor de la cookie (llamando a la función getCookie) y si hay algún valor lo inserta en input correspondiente del formulario (nombre, correo o web) y además activa el checkbox de Recordar datos.


function insertarCookie() {
var nombre = getCookie('blog_nombre');
var correo = getCookie('blog_correo');
var web = getCookie('blog_web');
document.EscribirComent.nombre.value = nombre;
document.EscribirComent.correo.value = correo;
document.EscribirComent.web.value = web;
if ((correo!=null) || (nombre!=null) || (web!=null)) {
document.EscribirComent.recordar.checked=1;
} else {
document.EscribirComent.recordar.checked=0;
}
if (nombre==null) document.EscribirComent.nombre.value = '';
if (correo==null) document.EscribirComent.correo.value = '';
if (web==null) document.EscribirComent.web.value = '';

}
</SCRIPT>

Luego lo único que hay que hacer es indicar que se ejecute la función cuando se cargue la página.


<body onload='insertarCookie()'>

Las cookies se graban cuando se realiza la inserción del comentario, mediante PHP.


MeneameMeneame | del.icio.us

Comentarios(2) »

  1. marco — 06-10-2007 - 13:50:44 GMT 1

    gracias te ma chekado

  2. Rokito Wonito — 31-03-2009 - 01:51:58 GMT 1

    primeras!! jajaja Atte: Rokito Wonito.

TrackBack URI

Dejar un Comentario


<a href> <em> <blockquote> <strong> <cite> <code> <ul> <li> <dl> <dt> <dd>