¿Cómo inicializar un formulario con los valores proporcionados por el usuario después de que no se pudo publicar?

Tengo un formulario que, en caso de que no se publique en el servidor, me gustaría que el usuario vuelva al formulario con los datos aún allí. En este momento lo tengo configurado donde paso del formulario al archivo php que se encarga de enviar el contenido a la base de datos y redirigirá de nuevo al formulario después de unos segundos. Pero si hay una falla, me gustaría asegurarme de que el usuario final no tenga que volver a ingresar toda la información.

preguntado el 12 de junio de 12 a las 19:06

¿Está el formulario en una página separada del archivo php que lo está procesando? ¿La página con formulario es una página php? -

¿Cómo podría dejar de publicar? ¿Validación errónea? ¿Falla de red? Qué/ -

Son páginas separadas y el formulario está en una página html. -

¡Debe publicar su marcado HTML y el código PHP relevante para permitir una respuesta precisa! De lo contrario, obtendrá un montón de conjeturas! -

@ Evo510 Lo primero que debe hacer para que esto funcione es crear un formulario también en una página php y luego seguir cualquiera de las respuestas que encontrará a continuación. -

3 Respuestas

Su mejor opción, en caso de que los datos del formulario no se publiquen, es escribirlos primero en una variable de sesión. La lógica sería la siguiente:

  1. Ingresar datos del formulario
  2. Establecer variables de sesión con valores de formulario
  3. Publique datos en la base de datos, borre las variables de sesión si tiene éxito
  4. Redirija de nuevo al formulario si la publicación falló, complete los campos con datos variables de sesión

Respondido el 12 de junio de 12 a las 20:06

Cuando un usuario envía un formulario que fallará en la validación, simplemente reconstruya el HTML del formulario con los valores que obtuvo en POST o GET y envíelo de vuelta al usuario.

Respondido el 12 de junio de 12 a las 20:06

Una manera fácil de hacer esto es hacer que el formulario se publique en sí mismo y hacer cualquier verificación de error que necesite hacer. Si pasa la validación, puede hacer cualquier otra cosa que necesite hacer (insertarlo en una base de datos, enviar un correo electrónico, reenviarlo a una página de agradecimiento, etc.). Sin embargo, si falla, generará el formulario nuevamente y completará el campos, puede usar las variables $_POST, $_GET o $_REQUEST (dependiendo del método de su formulario) para volver a llenar los campos.

Por ejemplo, si tuviera un campo de nombre como <input type="text" name="fname" id="fname" /> podrías modificarlo para que sea:

<input type="text" name="fname" id="fname" value="<?php echo $_POST['fname']?>" /> 

Esto llenará el campo con cualquier dato que el usuario haya ingresado. Los menús seleccionados, las casillas de verificación y los botones de radio también se pueden volver a llenar con los datos del formulario ingresados ​​previamente, y el código es un poco más complejo.

Respondido el 12 de junio de 12 a las 20:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.