Foros del Web » Programando para Internet » PHP »

borrar _Post al Actualizar navegador

Estas en el tema de borrar _Post al Actualizar navegador en el foro de PHP en Foros del Web. Hola! Digamos, un usuario envía un comentario mediante un formulario(post) a X pagina...y todo bien, la cosa es que cuando hace F5 o Refresh del ...
  #1 (permalink)  
Antiguo 02/06/2011, 16:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 1
Información borrar _Post al Actualizar navegador

Hola!

Digamos, un usuario envía un comentario mediante un formulario(post) a X pagina...y todo bien, la cosa es que cuando hace F5 o Refresh del navegador,no repita este comentario...cosa que hace,repite el mismo comentario al actualizar.

Como sería el planteamiento o hay alguna funcion que haga un clean o refresh _Posts...
  #2 (permalink)  
Antiguo 02/06/2011, 16:32
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: borrar _Post al Actualizar navegador

}tienes que borrar los que se le conoce como cache..

Código PHP:
Ver original
  1. <?php
  2. header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada
  3. header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
  4. header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
  5. header ("Pragma: no-cache");
  6. ?>


Va hasta arriaba de tu codigo..

saludos..
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 02/06/2011, 16:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: borrar _Post al Actualizar navegador

Tecnicamente, no puedes modificar el comportamiento del navegador:

a) El usuario llena un formulario y hace click en el boton correspondiente para enviarlo.
b) El navegador envia los datos para ser procesados en el servidor.
c) El usuario presiona F5 o el boton "Actualizar" en el navegador, se repite directamente b), aunque el navegador deberia preguntar si deseas enviar nuevamente los datos del formulario.

Realmente no afectaria mucho el incluir encabezados para expirar cache, porque a orden expresa del usuario, el navegador intentara cargar nuevamente la pagina que esta mostrando.

Solucion:
1- Dirige la accion del formulario a la misma pagina, pero agrega algun parametro en la URL, por ejemplo: <form method="post" action="contenido.php?accion=comentar">
2- En contenido.php (o como se llame tu pagina) procesas el formulario, si hay errores, los muestras; si todo esta correcto, insertas en la base de datos y rediriges a la pagina original con header('Location: contenido.php');
3- Cuando el usuario pida actualizar desde el navegador, gracias a la redireccion ya no se reenviaran los datos del formulario.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 02/06/2011, 16:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: borrar _Post al Actualizar navegador

sorry no entiendo ... el expire no tiene q venir despues del last-modify para verificar si expira o no?...x decir 1 segundo mas tarde que el last-mofidy...y en ese caso que vacíe caché...con las lineas 4 y 5 de tu codigo?
  #5 (permalink)  
Antiguo 02/06/2011, 16:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: borrar _Post al Actualizar navegador

interesante Triby, en ese caso haría un redirect instantaneo una vez inserte los comentarios...

tambien estaba pensando en comparar el datetime de la tabla de la base de datos donde se vaya a guardar el comentario...y si es lo mismo todo, que no guarde...pero eso obviamente consume mas recursos en general.

aunq en este caso renovaría las fechas tb jeje, en fin, me quedo con el redirect !...vamos a ver.

Etiquetas: borrar, navegador, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.