Foros del Web » Programando para Internet » PHP »

¿Como borro los datos POSTDATA de un formulario?

Estas en el tema de ¿Como borro los datos POSTDATA de un formulario? en el foro de PHP en Foros del Web. hola a todos, bueno mi problema es el siguiente: tengo una pagina y en ella un formulario el cual me envia unos datos a una ...
  #1 (permalink)  
Antiguo 23/11/2006, 23:10
Avatar de fher007  
Fecha de Ingreso: noviembre-2006
Ubicación: Cochabamba Bolivia
Mensajes: 4
Antigüedad: 17 años, 5 meses
Puntos: 0
Pregunta ¿Como borro los datos POSTDATA de un formulario?

hola a todos, bueno mi problema es el siguiente:

tengo una pagina y en ella un formulario el cual me envia unos datos a una base de datos. hasta ahi todo bien. el tema es que cuando se refresca la pagina (F5 o actualizar) vuelve a enviar los datos previo a un mensaje de advertencia que dice: la pagina no puede actualizarce sin reenviar la informacion.... etc

hay alguna manera de eliminar los datos una vez enviados?

gracias
  #2 (permalink)  
Antiguo 24/11/2006, 01:11
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

eso es porque el envio de datos haces en la misma pagina, deberias de enviar los datos a otra pagina y despues de meterlas alli, redireccionar la pagina otra vez al formulario.

suerte
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 24/11/2006, 01:30
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
usa
Código PHP:
if(isset($_POST['submit'])){
// tu proceso

De esta forma los datos solo se envian o se imprimen si el boton con el nombre submit es presionado, de otra forma nada es enviado. Saludos
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 24/11/2006, 04:39
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

Cita:
Iniciado por urgido Ver Mensaje
usa
Código PHP:
if(isset($_POST['submit'])){
// tu proceso

De esta forma los datos solo se envian o se imprimen si el boton con el nombre submit es presionado, de otra forma nada es enviado. Saludos
no funciona, te meteria otra vez los datos.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 24/11/2006, 04:43
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
asi manejo mis forms... me va bien... tendria que manipular la negación de isset para borrar los datos... www.php.net/isset

Saludos
__________________
Hospedaje Web al mejor costo!
  #6 (permalink)  
Antiguo 24/11/2006, 11:48
Avatar de femar18  
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 13
Antigüedad: 17 años, 5 meses
Puntos: 0
Podes probar despues de actualizar los datos de poner $_POST=NULL; pero de todas formas es mas recomendable que redirijas el formulario a otra pagina y cuando termine el proceso te traiga de vuelta o te lleva a una pagina de exito.
Saludos!
  #7 (permalink)  
Antiguo 25/11/2006, 00:10
Avatar de fher007  
Fecha de Ingreso: noviembre-2006
Ubicación: Cochabamba Bolivia
Mensajes: 4
Antigüedad: 17 años, 5 meses
Puntos: 0
muchas gracias por sus comentarios, opte por la salida de enviar los datos a una pagina receptora y ahora funciona de maravilla.
gracias

saludos
  #8 (permalink)  
Antiguo 25/11/2006, 19:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por ZiTAL Ver Mensaje
eso es porque el envio de datos haces en la misma pagina, deberias de enviar los datos a otra pagina y despues de meterlas alli, redireccionar la pagina otra vez al formulario.

suerte
Urgido .. repasa el comentario que hace Zital ..

Esto tiene su sentido .. y es como se comporta el protocolo HTTP y como los navegadores gestionana la información que procesan. Tal vez si tu usas habitualmente "GET" como "method" de tus formularios no te ubieras dado cuenta de este problema o .. tal vez ya redireccionabas al terminar tu proceso en sí.

El "problema" se produce normalmente con metodo "POST" y se origina por qué el navegador hace el "caché" de estos datos hasta que recibe otras cabeceras (aquí no me pidan explicación excesivamente "técnica" pero por ahí va el tema por si desean profundizar en el). De hecho tengo entendido que con ciertas cabeceras HTTP podríamos indicar al cliente que no haga caché de este tipo de datos (no me refiero sólo a chaché de la "página" sino algo tipo "must revalidate" o algo así ..).

La solución más simple, sana y efectiva es la de NO tener el "mensaje" de error/exito en el mismo flujo del código que el que hace el proceso. Redireccionando simplemente hacia otra página/script al terminar el proceso se solventa el problema. Esto no quiere decir que no se puedan hacer "script" que contengan en un mismo script (algo.php) un "proceso" y "una página para mostrar resultados/mensajes de como fué el proceso", sólo que hay que "separarlos" en "peticiones al servidor" físicamente con una redirección (aunque sea a si mismo .. un "header("Location: ....")".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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

SíEste tema le ha gustado a 1 personas




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