Foros del Web » Programando para Internet » PHP »

Formularios: Limpiarlos despues de ejecutados para evitar el REFRESH (F5)

Estas en el tema de Formularios: Limpiarlos despues de ejecutados para evitar el REFRESH (F5) en el foro de PHP en Foros del Web. Hola, se que debe ser sencillo pero realmente solo se me ocurre una forma de hacerlo y no es muy ortodoxa que se diga. Tengo ...
  #1 (permalink)  
Antiguo 09/06/2005, 14:14
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 6 meses
Puntos: 4
Formularios: Limpiarlos despues de ejecutados para evitar el REFRESH (F5)

Hola, se que debe ser sencillo pero realmente solo se me ocurre una forma de hacerlo y no es muy ortodoxa que se diga.

Tengo un formulario el cual al dar aceptar hace las validaciones correspondientes en cuanto a si los campos estan llenos, si es un email valido, un numero telefonico valido, etc
si todo esto esta bien, pasa al archivo donde valida la informacion con la base de datos, ej: si la persoan ya estaba inscrita, etc etc, ahora bien, despues de que ha hecho las operaciones necesarias, validar datos, insertar, actualizar, o lo que sea que se haga, me queda esa pantalla, pero si yo le doy F5 para refrescar la pantalla vuelve a ejecutar y procesar la info, como evito que esto suceda??

gracias por las respuestas anticipadamente
  #2 (permalink)  
Antiguo 09/06/2005, 14:20
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 6 meses
Puntos: 4
Código PHP:
<?
session_start
();
if (
$_SESSION['paso'] == "si"){
die (
"No está permitido recargar la página");
}

$_SESSION['paso']="si";
encontre a las FAQ, pero mas explicadito por favor, donde ongo ese script, en la pagina que llamo desde mi formulario?? osea, por fa un poco mas de explicaicon, gracias
  #3 (permalink)  
Antiguo 09/06/2005, 14:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Lo mejor es que simplemente hagas una redirección al terminar tu ejecución del proceso en sí de ingreso de datos a tus BD o el que corresponda.

Código PHP:
<?
// proceso PHP .. validaciones . .etc ...

// Si todo OK:
header ("Location: dondecorresponda.php");
?>
Con eso sobra ..separas procesos y "limpias" las variables que tu navegador almacena (sobre todo si usases "POST" en tus formularios para llegar a este script de proceso) ..

Un saludo,
  #4 (permalink)  
Antiguo 09/06/2005, 14:53
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Iniciado por Cluster
Lo mejor es que simplemente hagas una redirección al terminar tu ejecución del proceso en sí de ingreso de datos a tus BD o el que corresponda.

Código PHP:
<?
// proceso PHP .. validaciones . .etc ...

// Si todo OK:
header ("Location: dondecorresponda.php");
?>
Con eso sobra ..separas procesos y "limpias" las variables que tu navegador almacena (sobre todo si usases "POST" en tus formularios para llegar a este script de proceso) ..

Un saludo,
ok eso esta bien... ya hice que cuando todo este ok, lo puedo mandar a una pagina que me despliegue que todo estubo bien etc etc,
ahora bien, el problema es que la validacion no es la comun, en mi formulario tiene un listado de items a los que se puede inscribir, pero no debe permitir que se inscriba 2 veces a un item, pero no debe detener el proceso de inscripcion de los items a los que aun no esta inscrito.
Ejemplo:
Items:
Hora nacional
Estado del Tiempo
Precio de la gasolina

entro yo una vez y me inscribo a hora nacional, pero dias despues vuelvo a entrar y me inscribo a los tres, ahora bien, la pagina debe desplegarme o mandarme el error de que en hora nacional ya estaba inscrito pero que se inscribio en los otros dos, por lo tanto mi proceso siempre es ok.

crees que lo mejor seria, ir agregando en un arreglo el listado de errores en la pagina de navegacion y cuando termine el proceso enviarlo a una tercera pagina, donde despliegue lo que esta mal y lo que esta bien?? o si encontro un error mandarlo nuevamente al formulario?? (por cierto cuando hago esto, el formulario esta en blanco)
me explique bien?
  #5 (permalink)  
Antiguo 09/06/2005, 15:04
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 6 meses
Puntos: 4
ojo, algo que olvide mencionar es que en algunos errores si hay que detener el proceso y con otros no. y he ahi el problema principal
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 14:07.