Foros del Web » Programando para Internet » PHP »

Limpiar variables $_POST[]

Estas en el tema de Limpiar variables $_POST[] en el foro de PHP en Foros del Web. Hola a todos. Tengo un problema con el envío de variables en un formulario post. La información se envía sin problemas, pero cuando recargo la ...
  #1 (permalink)  
Antiguo 16/10/2006, 09:36
 
Fecha de Ingreso: septiembre-2006
Ubicación: Jaén - España
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Limpiar variables $_POST[]

Hola a todos.

Tengo un problema con el envío de variables en un formulario post.
La información se envía sin problemas, pero cuando recargo la página con F5 las variables mantienen su valor y vuelve a enviarse una petición con los mismos valores.
¿Hay alguna manera de "limpiar" los valores enviados como $_POST[] para que al recargar no se envíe ninguna variable?

Un saludo y gracias por su tiempo.
  #2 (permalink)  
Antiguo 16/10/2006, 09:56
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Ya intentaste con la función unset()

Saludillos.
  #3 (permalink)  
Antiguo 16/10/2006, 10:11
 
Fecha de Ingreso: septiembre-2006
Ubicación: Jaén - España
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola mauled, gracias por contestar.

Sí lo probé, pero las variables seguían manteniendo su contenido.

Buscando en el foro he visto que recomiendan hacerlo con dos páginas separadas: una con el formulario que envía la información; y otra que recibe los datos, los procesa y redirecciona a la primera usando header().

Lo he probado y funciona, pero ahora el problema es que haciéndolo de esa manera no se muestran los mensajes que resultan del procesado de la información.

Un saludo y gracias.
  #4 (permalink)  
Antiguo 16/10/2006, 10:32
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Busqueda

jeje pues seria importante que comentaras más acerca de eso proceso para intentar darte una posible solución.

Saludillos.
  #5 (permalink)  
Antiguo 16/10/2006, 10:58
 
Fecha de Ingreso: septiembre-2006
Ubicación: Jaén - España
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola mauled.

El código es bastante largo, así que intentaré explicar mi problema de manera resumida para que sea cómodo de leer.

Tengo un archivo formulario.php con un formulario de este tipo:
Código HTML:
<form action="procesado.php" method="post">
.....
</form> 
El archivo procesado.php recoge los datos $_POST[], realiza una serie de comprobaciones y muestra mensajes indicando si no están en el formato correcto, si ha habido algún problema, o si han sido introducidos correctamente en la base de datos, y despues redirecciona a formulario.php para introducir nuevos datos.

El problema es que si uso header() para redireccionar a formulario.php no se muestran esos mensajes que indican si la introducción de los datos se ha realizado satisfactoriamente o no.

Un saludo y gracias.
  #6 (permalink)  
Antiguo 16/10/2006, 11:30
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
jeje y por que simplemente no "trasladas" dicho proceso a la página a la que estes redireccionando y pues si encuentras un error en la información simplemente redireccionas a la página "padre".

Por ejemplo:

Código PHP:
$error  "";
if(
$_POST['nombre'] == "")
  
$error "Vacio";

if(
$error  == "")
{
  
header("Location: guarda.php");
}
else
 
header ("Location: padre.php?error=".$error);

//Y en la página padre checas si existe al error

if(isset($_GET['error'])&& $_GET['error'] != "")
 echo 
"Se encontro el siguiente error: "$_GET['error']; 

Espero te sirva esto.
Saludillos.
  #7 (permalink)  
Antiguo 18/10/2006, 08:18
 
Fecha de Ingreso: septiembre-2006
Ubicación: Jaén - España
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola mauled.

Tu propuesta es una buena idea, al final usé javascript para el redireccionamiento y que así se pudieran ver los errores, pero probaré tu sistema.

Un saludo.
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 04:17.