Foros del Web » Programando para Internet » PHP »

Volver al formulario relleno

Estas en el tema de Volver al formulario relleno en el foro de PHP en Foros del Web. Si valido los campos de un formulario y detecto que alguno esta mal, cómo muestro (tras avisar de los errores) otra vez el mismo formulario ...
  #1 (permalink)  
Antiguo 24/07/2009, 11:15
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Exclamación Volver al formulario relleno

Si valido los campos de un formulario y detecto que alguno esta mal, cómo muestro (tras avisar de los errores) otra vez el mismo formulario con los campos ya introducidos para que el usuario no tenga que volver a escribir todo de nuevo?

Gracias.
  #2 (permalink)  
Antiguo 24/07/2009, 11:20
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Volver al formulario relleno

por ejemplo,

<input type="text" name="nombre" value="<?php $_POST["nombre"] ?>">

Suponiendo que el formulario lo pasas por POST
  #3 (permalink)  
Antiguo 24/07/2009, 11:34
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: Volver al formulario relleno

Es como dice Ronin46, pero te explico:

Antes de mostrar el formulario html, recoges los valores por POST (existan o no)

Código PHP:
$campo1=$_POST['campo1'];
$campo2=$_POST['campo2']; 
Ahora muestras el formulario

Código HTML:
<input type="text" name="campo1" value="<?php $campo1; ?>">
<input type="text" name="campo2" value="<?php $campo2; ?>"> 
Así, si existen los valores, se muestran, y si no, se muestran loc campos vacíos.

Espero que sirva
  #4 (permalink)  
Antiguo 24/07/2009, 11:50
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Exclamación Respuesta: Volver al formulario relleno

No lo acabo de entender, pongamos que tengo el siguiente caso:

1º archivo: altaContactoNuevo.html (muestra unicamente el formulario)
2º archivo: validar.php (comprueba si todos los campos del formulario son correctos)

Comenzamos en altaContactoNuevo.html, se rellenan los datos y se mandan mediante:
<form id="form1" name="form1" method="post" action="validar.php"> a validar.php, si los campos estan bien se meten en la base de datos, y si no, volvemos a altaContactoNuevo.html mostrando los errores y rellenando los datos ya introducidos anteriormente por el usuario.

Mi problema es cómo pasar del 2º archivo al primer de nuevo los datos si ya no tengo la parte de <form id="form1" name="form1" method="post" action="validar.php">

No se si me he explicado...
  #5 (permalink)  
Antiguo 24/07/2009, 12:23
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Volver al formulario relleno

Código PHP:
echo "<script>history.back()</script>"
http://www.forosdelweb.com/f13/como-...y-back-511962/
  #6 (permalink)  
Antiguo 24/07/2009, 12:32
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Volver al formulario relleno

Cita:
Iniciado por gjx2 Ver Mensaje
Código PHP:
echo "<script>history.back()</script>"
http://www.forosdelweb.com/f13/como-...y-back-511962/
¿Se puede poner retardo para que no se cambie la página instantaneamente y que el usuario pueda leer los mensajes de error?
  #7 (permalink)  
Antiguo 24/07/2009, 13:34
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Volver al formulario relleno

Claro que se puede

En este caso en 6 seg vuelva atras.
Código PHP:
echo 
<script>setInterval(\"history.back()\",6000);</script>
"

pero tambien pudieras hacerle una ventanita con los errores

Algo como esto

Código PHP:
echo 
<script>history.back(alert(\"Error en los campos\"));</script>
"

  #8 (permalink)  
Antiguo 24/07/2009, 13:46
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Volver al formulario relleno

Me quedo con el último, es perfecto para lo que busco, muchas gracias.
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 21:21.