Foros del Web » Programando para Internet » PHP »

ideas para solventar error en formulario

Estas en el tema de ideas para solventar error en formulario en el foro de PHP en Foros del Web. Hola! Bueno, pues resulta que tengo un formulario con un par de campos, un textarea y un input para subir una imagen. El problema es ...
  #1 (permalink)  
Antiguo 22/12/2006, 18:59
Avatar de ferrins  
Fecha de Ingreso: mayo-2005
Mensajes: 64
Antigüedad: 18 años, 11 meses
Puntos: 1
ideas para solventar error en formulario

Hola!

Bueno, pues resulta que tengo un formulario con un par de campos, un textarea y un input para subir una imagen. El problema es que cuando el usuario ha llenado todos los campos y envia el formulario, si la imagen no se adhiere a lo requisitos hago mostrar un error en el mismo formulario por lo que la pagina se recarga y se pierde todo lo que el usuario había escrito.
Porque claro, no puedo hacer el insert en la base de datos hasta que todo este correcto.

Entonces que os parece, como podría manejar esos mensajes de error sin perder la información que ha escrito el usuario. Lo que yo había probado hasta ahora era que cuando había un error con la foto, recogia toda la información y la enviaba por GET a la misma pagina, pero el problema de esto es que el GET tiene limite de caracteres y como tengo un textarea pues no me sirve.

Bueno pues, a ver que os parece, que debería hacer?

Gracias!!
  #2 (permalink)  
Antiguo 22/12/2006, 19:16
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: ideas para solventar error en formulario

Hola ferrins.

Yo lo que suelo hacer, es enviar el formulario a la misma página en que se rellena, y poner un condicional (si se ha enviado el formulario comprobar e insertar, o si no se ha enviado, mostrarlo).

Hago una especie de contador de errores, y en el caso de que existan errores en el formulario, lo que hago es mostrar el formulario con los datos enviados.

Código PHP:
<input type="text" size="10" name="email" value="<?=$_POST['email']?>">
Algo así.
  #3 (permalink)  
Antiguo 22/12/2006, 19:19
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: ideas para solventar error en formulario

Otra opción sería, por ejemplo, poner un aviso de que han habido errores y poner un enlace en forma de botón tipo submit, y para no tener que enviar los datos mediante GET, hacerlo vía POST mediante inputs ocultos (type="hidden").

Aunque pienso que es mas elegante lo otro.
  #4 (permalink)  
Antiguo 22/12/2006, 19:45
Avatar de ferrins  
Fecha de Ingreso: mayo-2005
Mensajes: 64
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: ideas para solventar error en formulario

Hola Bonez!

Entonces, en la primera opción que dices, utilizas el mismo formulario en el caso de que haya errores o tienes otro exclusivamente para ese fin, es decir para si tienes que mostrar los datos enviados?

Gracias
  #5 (permalink)  
Antiguo 22/12/2006, 19:48
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: ideas para solventar error en formulario

Lo mas simple es usar el mismo, y poner directamente el value enviado por POST, ya que si no se ha enviado nada, no aparecerá nada.
  #6 (permalink)  
Antiguo 22/12/2006, 20:01
Avatar de ferrins  
Fecha de Ingreso: mayo-2005
Mensajes: 64
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: ideas para solventar error en formulario

Me parece que la estoy cagando y bien porque cuando envio el formulario y encuentra un error lo redirijo a la misma pagina con esto:

echo "<script>document.location.href='insert_noti.p hp'</script>";

Entonces llega ala pagina otra vez pero no aparecen los $_POST que he puesto en los values de los campos del formulario...
  #7 (permalink)  
Antiguo 22/12/2006, 20:08
Avatar de ferrins  
Fecha de Ingreso: mayo-2005
Mensajes: 64
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: ideas para solventar error en formulario

porque cuando encuentro el error, una vez enviado el formulario, como lo haces para volver a la misma pagina si ya estas en ella?

BUeno, gracias por tu ayuda BoNeZ.
  #8 (permalink)  
Antiguo 22/12/2006, 20:08
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: ideas para solventar error en formulario

Si rediriges la página con javascript, no te va a enviar ningún dato por POST.

Creo que me he explicado mal, o no muy bien.Te pongo un ejemplo.

El formulario lo tenemos en formulario.php, y tienes que enviar los datos (la action del form) a formulario.php. Es decir, a la misma página.
Debes de tener un condicional (if($enviado) { tal... }) para que cuando se haya enviado la información no muestra el formulario, sino que compruebe si hay errores y una vez que no los hayan, hacer lo que quieras con los datos (por ejemplo insertarlos en un registro de tu base de datos).
Y en caso de haber errores, pues que muestre el formulario, en el que en cada campo estará indicado el value con la variable enviada.
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 16:21.