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 originalfunction refreshCache () {
document.getElementById("myform").reset();
ajax = objetoAjax ();
ajax.open ("GET", "php/refresh.php", true);
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
}
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 originalheader ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate");
unset ($_SESSION["arrEnv"]);
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<?php if (isset ($_GET["ref"]) && $_GET["ref"] == "s"){?> <body>
<?php }else{?>
<body onload="refreshCache ();">
<?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?