Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/06/2010, 07:36
noirmadness
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problema: Form y correción de campos erróneos

mortiprogramador, gracias por responder.
Con respecto a tu pregunta: los estoy validando con php. No tengo muchos conocimientos de js. Se qué es conveniente validar antes de enviar los datos, pero por el momento prefiero sacarme ésta duda.

Como dije en mi autorespuesta, ya encontré la solución para rellenar los campos del form usando la variable SESSION de ésta manera:

Código PHP:
Ver original
  1. $_SESSION['dir'] = $_POST['dir'];

para recojer los datos y guardarlos en la variable SESSION y luego la verificación y la redirección si los datos son erróneos.

Código PHP:
Ver original
  1. <input type="text" name="dir" value="<?php if (isset($_SESSION['dir'])){ echo $_SESSION['dir']; }?>" />

Entonces listo, si la variable 'dir' se encuentra almacenada en la variable SESSION luego de la redirección, rellena el input con dicha variable.

Mi problema ahora es cómo hacer para devolver automáticamente la el estado de un select. Lo que he logrado es ésto:

Código PHP:
Ver original
  1. <select name="tipo">
  2.    <?php if (isset($_SESSION['tipo'])){ echo "<option value='".$_SESSION['tipo']."'>".$_SESSION['tipo']."</option>"; } ?>
  3.    <option value="Bodega">Bodega</option>
  4.    <option value="Casa">Casa</option>
  5.    <option value="Departamento">Departamento</option>
  6.    <option value="Finca">Finca</option>
  7.    <option value="Local Comercial">Local Comercial</option>
  8.    <option value="Terreno">Terreno</option>
  9. </select>

La verdad es que funciona, el tema es que cuando redirecciona me duplica un option, por que escribe el option de php, y luego los de html.
Por ejemplo, en el código anterior, si el usuario ha seleccionado la opción bodega, cuando redirecciona, en el select aparece seleccionado Bodega, pero si lo despliego la lista tengo nuevamente bodega más abajo repetido.

Pensé en generar el select mediante un "switch", pero me resulta engorroso y no creo que llegue a ser funcional, pues uso unos 30 select con opciones diferentes.