Antes de nada, decir que estoy aprendiendo, y que si hay alguna burrada, me la indiqueis amablemente, para así aprender un poco más!
En un fichero "cabecera.asp" tengo un menú estilo pestañas, al que llamo desde cualquier otra página de la web, y para saber que pestaña debe estar activo, se me ocurrió utilizar una variable de sesión, con la que almacenar el link que se ha pinchado...
Código PHP:
<div id="menu">
<ul>
<li <% if Session("MenuCabeceraActivo")=1 then %>class="active"<%End If%>>
<a href="ComprobarMenuActivo.asp?MenuCabecera=1">Menu 1</a>
</li>
<li <% if Session("MenuCabeceraActivo")=2 then %>class="active"<%End If%>>
<a href="ComprobarMenuActivo.asp?MenuCabecera=2">Menu 2</a>
</li>
</ul>
Además la variable de sesión me sirve para luego a la hora de realizar actualizaciones sobre la base de datos, guardar ese parámetro, supongamos que Menu 1 y 2, son 2 empresas diferentes, y en la tabla distingo para que empresa se ha hecho la actualizacion...
Hasta ahí todo bien... Mi problema está en el botón de Página Anterior, del navegador...
Si un usuario pincha en el Menu 1, y ahi entra en un formulario donde cambiar datos, y luego pincha en Menu 2, la variable de sesion estará establecida en "Menu2", pero si pulsa el botón atrás, vuelve a aparecer el formulario, y parece que el Menu 1 es el activo, pero sin embargo esa variable se ha quedado establecida a "Menu2", dando incongruencias, como que el resultado de ese formulario aparezca en el Menu2, cuando sólo pertenece al Menu1, o peor aún... que se guarden los datos destinados al Menu1 como Menu2 en la BDD...
He deshabilitado la caché por medio del siguiente código:
Código PHP:
<%
response.addheader "Pragma", "no-cache"
response.addheader "cache-control", "private"
response.CacheControl="no-cache"
%>
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
Mi pregunta es... Hay alguna otra manera más óptima (seguro que sí pero no se me ocurre) de controlar el estado de esas pestañas, y que aparezcan como activas?? ¿Puedo hacer algo extra para estar seguro de que los datos se almacenan con el valor que deberían, a pesar del maldito boton de página atrás?
Espero vuestra ayuda!
