Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2009, 04:40
Koden
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: Problema en el refresco

Os pongo el código que estoy empleando (sin demasiado éxito) por el momento, a ver si os ilustro mejor la idea que tengo.

La idea es que al pulsar F5 (o refrescar el pc) se me borre la sesión y el contenido de la caché de la página, por lo que comienzo diseñando una función en mi página ajax.js para colocar en el evento onLoad de la página índice en cuestión.

ajax.js
Código javascript:
Ver original
  1. function refreshCache () {
  2.     document.getElementById("myform").reset();
  3.  
  4.     ajax = objetoAjax ();
  5.     ajax.open ("GET", "php/refresh.php", true);
  6.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  7.     ajax.send(null);
  8. }

Después, creo refresh.php donde borro la caché (o eso creo) y de paso elimino las variables de sesión

refresh.php
Código PHP:
Ver original
  1. header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT");
  2. header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  3. header ("Cache-Control: no-cache, must-revalidate");
  4. header ("Pragma: no-cache");
  5.  
  6. unset ($_SESSION["c"]);
  7. unset ($_SESSION["arrEnv"]);
  8.  
  9. header ("Location: http://www.oscartejada.com/pruebas/index.php?ref=y");

Y después pongo una instrucción al index, para que no se refresque una y otra vez en bucle:

refresh.php
Código PHP:
Ver original
  1. <?php if (isset ($_GET["ref"]) && $_GET["ref"] == "s"){?>
  2. <body>
  3. <?php }else{?>
  4. <body onload="refreshCache ();">
  5. <?php }?>

El caso es que por el momento, ni me muestra ningún tipo de error ni hace nada remotamente parecido a lo que quiero que haga... ¿Estoy obviando algo o planteándolo mal?

Muchas gracias a todos por vuestra ayuda y un saludo.

Editado -> He añadido la línea document.getElementById("myform").reset(); al archivo ajax.js y me he dado cuenta de que -creo- que lo único que falla es la destrucción de la sesión, dado que al refrescar es lo único que me sigue apareciendo... ¿Alguna sugerencia?

Última edición por Koden; 27/04/2009 a las 04:53 Razón: Añadir más datos sobre el problema