etiquetas - remove html tags php
Documento PHP caducado (8)
Compruebe si el caché está deshabilitado en el encabezado como
<HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
Estoy haciendo algunos códigos PHP, si se presiona el botón "Atrás" en el navegador, aparece el siguiente error:
Document Expired
This document is no longer available.
¿Qué código puedo implementar para atender a esta situación?
Establezca el encabezado Cache-Control en su página principal.
<?php
header(''Cache-Control: max-age=900'');
?>
Este problema surgirá por los siguientes dos escenarios:
- Implementando búsqueda con
Post
- Redireccionando a una página que fue publicada anteriormente.
Hay 2 formas de superar este problema fácilmente sin ningún tipo de hack.
Para el search form
no utilice el método de post
, en su lugar use el método de obtención y todo funciona bien.
Si realmente necesita ocultar las entradas del formulario por cualquier motivo y desea utilizar el método de publicación, entonces el enlace / acción que causa la redirección a otra página, haga que la redirija a través de JavaScript.
location.replace(''http://example.com/page2'');
Esto elimina la URL de referencia y fuerza una nueva solicitud de http. Ahora, presionar el botón Atrás en el navegador no hará que el documento caduque.
He pasado por el mismo problema. Una página a la que quiero volver tenía valores de forma publicados y, por lo tanto, cuando pulsé el enlace Atrás, estaba mostrando un error de documento caducado. Ver ejemplo-
Hay tres páginas, page1.php, page2.php y page3.php. Ahora estoy enviando algún formulario de page1.php a page2.php usando el método POST. Desde page2.php hice clic en algún enlace de page3.php.
Ahora quiero volver a page2.php desde page3.php. Pero page2.php tiene valores de formulario publicados usando el método POST y cuando llego a page2.php de page3.php, el navegador muestra el error "Docuemnt Expired".
Así que usé el método GET en lugar de POST . Entonces, cuando regrese a page2.php, entonces no habrá valores POST de formulario y la página se cargará correctamente. Además, como los valores de formulario están presentes en la URL, la página se cargará como se espera.
Ve a php.ini de tu servidor y cambia esto
session.cache_limiter = nocache
Como
session.cache_limiter = public
El problema se resolvería. Resolví mi problema con esto.
solo pon esta linea en tu pagina
<?php
header("Cache-Control: max-age=300, must-revalidate");
?>
Agregue esto al comienzo de los códigos PHP :
ini_set(''session.cache_limiter'',''public'');
session_cache_limiter(false);
Usando la regla Publicar / Redirigir / Obtener puede evitar esto.
Este problema surgirá por lo siguiente:
- Digamos que tengo
example1.php
,example3.php
yexample3.php
- Estoy publicando algunos valores desde
example1.php
aexample2.php
luego hice todo el material de base de datos según mi necesidad y rendericé la página (no redirigido - recién publicado y la página se renderizó). - Después de eso, he redirigido la página de
example3.php
aexample3.php
. Ahora si hace clic en el navegador volverá el documento caducará .
Para evitar esto, podemos publicar los valores de example1.php
a example2.php
y redirigir al usuario a otra página inmediatamente.
Este es Post/Redirect/Get patrón de Post/Redirect/Get obtención que se puede seguir para evitar que caduque el documento. También ayuda a evitar la entrada redundante en la base de datos.