Foros del Web » Programando para Internet » PHP »

Quiero eliminar el valor de un $_POST tras submit un form

Estas en el tema de Quiero eliminar el valor de un $_POST tras submit un form en el foro de PHP en Foros del Web. Hola Os cuento, tengo un formulario en una página web, algo sencillo Código PHP: <form action="lapropiapagina" method="post"> <input type="submit" name="algo" /> <input type="hidden" id="idloquesea" name="loquesea" /> </form> <?php   if(isset( $_POST [ "loquesea" ]){ ...
  #1 (permalink)  
Antiguo 13/10/2011, 13:34
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 19 años
Puntos: 1
Pregunta Quiero eliminar el valor de un $_POST tras submit un form

Hola

Os cuento, tengo un formulario en una página web, algo sencillo

Código PHP:
<form action="lapropiapagina" method="post">
<input type="submit" name="algo" />
<input type="hidden" id="idloquesea" name="loquesea" />
</form>

<?php
 
if(isset($_POST["loquesea"]){

// haz algo
}
?>
lo explico, el formulario tiene un action a la propia página donde está el código del mismo (tiene que ser así, si no sería muy fácil). Bien cuando pulso el botón submit, pues entra y ejecuta el código en //haz algo, pero si le doy a F5 y recargo la página, sin pulsar el botón submit, el código se ejecuta de nuevo, normal, así funciona los formularios, pero quiero hacer algo para que $_POST, este tal y como estaba antes de enviar el formulario.

He intentado <?php isset($_POST["loquesea"] ?> , pero me da error, no funciona, no sé si hay alguna forma mediante código php, para anular los valores del formulario.
  #2 (permalink)  
Antiguo 13/10/2011, 13:38
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Quiero eliminar el valor de un $_POST tras submit un form

en ese caso lo recomendado es redireccionar:

Código PHP:
Ver original
  1. header("Location: page.php");
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/10/2011, 14:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 19 años
Puntos: 1
Respuesta: Quiero eliminar el valor de un $_POST tras submit un form

header ,no me vale, no controlo el código html que me viene al principio de la página, si hago un header me da error, pues el código php está en el cuerpo, no tengo manera de controlar la parte superior, me viene dada.

Última edición por Dav1d; 13/10/2011 a las 14:31
  #4 (permalink)  
Antiguo 13/10/2011, 14:36
 
Fecha de Ingreso: agosto-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Quiero eliminar el valor de un $_POST tras submit un form

Supongo que si has enviado los datos antes, al pulsar F5 el navegador reenvia los datos por POST otra vez automáticamente, por eso tiene los datos.

Yo diría que no es cosa del PHP, es cosa del navegador que al recargar lo reenvia. A mí Firefox cuándo recargo una página a la que he enviado datos por POST me muestra un mensaje diciendo que si quiero reenviar los datos.

Pero vamos, que los datos enviados por POST no se almacenan, otra cosa que el navegador al recargar lo reenvie, pero eso es cosa del navegador y no de PHP.
  #5 (permalink)  
Antiguo 13/10/2011, 14:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Quiero eliminar el valor de un $_POST tras submit un form

Cita:
Iniciado por Dav1d Ver Mensaje
header ,no me vale, no controlo el código html que me viene al principio de la página, si hago un header me da error, pues el código php está en el cuerpo, no tengo manera de controlar la parte superior, me viene dada.
o lo haces en el tope del archivo (volviendo a comprobar isset($_POST[]) ) o redirrecionas con window.location de javascript (necesitas dumpear a la salida un bloque <script> con ello
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: post, quiero, submit, tras, formulario
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 06:03.