Foros del Web » Programando para Internet » PHP »

problemas con formulario

Estas en el tema de problemas con formulario en el foro de PHP en Foros del Web. Hola a todos! Tengo un problema (si no no enviaría este mensaje, claro): He hecho un formulario en la página p.ej. modificar.php con varios campos ...
  #1 (permalink)  
Antiguo 21/11/2003, 14:18
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 21 años, 5 meses
Puntos: 0
problemas con formulario

Hola a todos!

Tengo un problema (si no no enviaría este mensaje, claro):

He hecho un formulario en la página p.ej. modificar.php con varios campos (p.ej. 'texto') que coge previamente de la BD y al validar, vamos a la página siguiente (modificar02.php) que es la que guarda en la BD los cambios. Todo bien. Pero si el visitante quiere volver atrás porque ha habido un error o en la página modificar02.php se le dice que ha escrito demasiados carácteres y desea borrar texto del campo del formulario para validarlo de nuevo, cuando vuelve atrás, a modificar.php, vuelve a cargar de la BD los datos antiguos.

Esto puede ser debido a que al pulsar el botón 'atrás' del explorer me vuelve a cargar la página y coge los datos antiguos de la BD, y creo que seguramente es debido a usar sesiones (uso sesiones porque es una zona restringida y guardo en ella los datos de usuario y contraseña)

Cómo puedo evitar que al volver atras me recargue la página con los datos antiguos de la BD?

No sé si me he explicado bien

Gracias
__________________
:'(
  #2 (permalink)  
Antiguo 21/11/2003, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si dices usar sesiones y al volver atras obtienes los mismos datos y ..no los requieres, deberías matar la sesión o bien sólo las variables de sesión (unset()) que no quieras usar al pasar a tu 2º pagina.

Puedes hacerlo al llegar ala 2º página .. o bien al terminar de usar en tu 1º pagina las variables.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 21/11/2003, 22:45
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 20 años, 8 meses
Puntos: 0
opinion

Por que no haces si detecta el error borro la variable que contiene el texto y cargo denuevo el formularios desplegando aquellas que estan completas.
Si no acordate cuando uno llena un formulario y se equivoca y tene que llenar todo de nuevo por que se borro todo, yo la verdad me aburro y me voy
  #4 (permalink)  
Antiguo 22/11/2003, 08:44
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 8 meses
Puntos: 5
Jraluy encontraste la solucion ?
Porque yo tengo el mismo problema que vos......si tenes noticias las podes postear ?

Gracias !

(alguna forma debe haber, no)
__________________
__________________
Álvaro Lapacó
  #5 (permalink)  
Antiguo 23/11/2003, 04:52
Avatar de jraluy  
Fecha de Ingreso: noviembre-2002
Ubicación: En algún lugar al sur de
Mensajes: 46
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola Alapaco,

Con lo del problema del formulario creo que voy a hacer lo que me dijo 'phpnet':

Si al enviar los datos del formulario, alguno no es correcto, volveré a mostrar un nuevo formulario con los campos incorrectos (página de corrección) y volveré a pasar los datos a otra página (validación), que, entonces sí, guardará todos los datos del formulario, porque habré pasado todas las variables (con post p. ej.). Eso es sencillo, lo único es que hay que crear la página intermedia (en lugar de 2 páginas, formulario y validación, serán 3: formulario, formulario de corrección en su caso, y validación)

En la página intermedia (corrección), si todos los campos son correctos, guardará todo directamente en la BD, sin tener que ir a la página 3 de validación)

Espero que te sirva de algo porque mis cabriolas en PHP son algo torpes todavía.

Ah! si alguien tiene alguna idea mejor que nos lo diga, por favor.

Un saludo y gracias a cluster y phpnet.
__________________
:'(
  #6 (permalink)  
Antiguo 23/11/2003, 20:26
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 20 años, 8 meses
Puntos: 0
No sera major así

Para que quieren usar una pagina con el formulario, otra con el codigo que chequea el formulario y otra mas para mostrar los resultados.
Se puede hacer esto

Si (Todas las variables del formulario estan vacias)

Verdadero => Despligo todo el formulario
//Caso que el formulario se despliega por primera ves

ELSEIF (Chequear_Variables($nombre,..,$etc, &$errores))
Verdadero => Cargo toda la info en la bd y depliego el
mensaje de bienvenida.

ELSE Falso => Despliego el mensaje de error que se
almacena en la variable $errores que es
un vector unidimencional que contiene
mensajes.
Cargo el formulario con las variabes que estan correctas

La funcion Chequear_errores retorna un boolean donde ya saben que si retorno false tenemos un error,y ahi que imprimirlo en pantalla, entonces al momento en que en una variable encontre un error le asigno a mi variable un vacio ("") para que borre su contenido y no aparezca en el formulario.
Recordad no hacer un return(false) al momento que encuentre una variable con error por que por ahi el formulario tene mas de un error.
Saludos y espero algun comentario.
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 07:11.