Foros del Web » Programando para Internet » PHP »

Validando formulario con select option y mantener activo campos y lista seleccionada

Estas en el tema de Validando formulario con select option y mantener activo campos y lista seleccionada en el foro de PHP en Foros del Web. Hola. Estoy haciendo un formulario en el cual estoy validando todos los campos y a la vez si alguno de ellos no está completo y ...
  #1 (permalink)  
Antiguo 26/05/2011, 09:38
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Validando formulario con select option y mantener activo campos y lista seleccionada

Hola.

Estoy haciendo un formulario en el cual estoy validando todos los campos y a la vez si alguno de ellos no está completo y tenga que completar que el resto de campos ya completos se mantengan con sus datos dentro. Hasta ahora lo he logrado todo sin embargo no logro mantener los campos de la fecha en activo:

Código PHP:
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
<legend>Tomador</legend>
    <fieldset>
        <legend>Datos personales</legend>
        <!-- TEXT -->
        <label for="nombre">Nombre:</label>
        <input type="text" id="nombre" name="nombre" value="<?php echo $_POST['nombre'?>" class="fondo-input" /><br />
        <label for="apellidos">Apellidos:</label>
        <input type="text" id="apellidos" name="apellidos" value="<?php echo $_POST['apellidos']?>" /><br />
<label for="direccion">Dirección:</label>
        <input type="text" id="direccion" name="direccion" value="<?php echo $_POST['direccion'?>" /><br />
<label for="dni">D.N.I.</label>
        <input type="text" id="dni" name="dni" value="<?php echo $_POST['dni'?>" /><br />
        
        Fecha de nacimiento:
        <select id="dia-nacimiento" name="dia-nacimiento">
        <option value="dia" selected>Día:</option>
        <?php        
        
for($i=1;$i<32;$i++)        
        echo 
"<option value=\"{$i}\">{$i}</option>";       
        
?>
         </select>
         <select id="mes-nacimiento" name="mes-nacimiento"> 
          <option value="mes" selected>Mes:</option>         
          <?php
          $meses
;
          
$mes [0]="Enero";
          
$mes [1]="Febrero";
          
$mes [2]="Marzo";
          
$mes [3]="Abril";
          
$mes [4]="Mayo";
          
$mes [5]="Junio";
          
$mes [6]="Julio";
          
$mes [7]="Agosto";
          
$mes [8]="Septiembre";
          
$mes [9]="Octubre";
          
$mes [10]="Noviembre";
          
$mes [11]="Diciembre";
          for (
$m=0;$m<12;$m++)
          echo 
"<option value=\"{$mes[$m]}\">{$mes[$m]}</option>";
           
?>
          </select>    
         <select id="ano-nacimiento" name="ano-nacimiento">
         <option value="Año:" selected>Año:</option>    
        <?php
        
for($n=1930;$n<=2011;$n++)
        echo 
"<option value=\"{$n}\">{$n}</option>";
        
?>
          </select>
<br /><label for="nombre-compania">Nombre compañía aseguradora anterior:</label>
        <input type="text" id="nombre-compania" name="nombre-compania" value="<?php echo $_POST['nombre-compania'?>" /><br />
        <label for="numero-poliza">Número de póliza:</label>
        <input type="text" id="numero-poliza" name="numero-poliza" value="<?php echo $_POST['numero-poliza'?>" /><br />
        <label for="forma-pago">Forma de pago:</label>
        <input type="text" id="forma-pago" name="forma-pago" value="<?php echo $_POST['forma-pago'?>" /><br />
           <label for="telefono-contacto">Teléfono de contacto:</label>
        <input type="text" id="telefono-contacto" name="telefono-contacto" value="<?php echo $_POST['telefono-contacto'?>" /><br />         
         <label for="otrosconductores">Existen otros conductores: </label>Si: <input type="radio" value="Si" name="otrosconductores" <?php
if (isset($_POST['otrosconductores']) && $_POST['otrosconductores'] == Si) { echo " checked='checked'"; }?> />
No: <input type="radio" value="No" name="otrosconductores" <?php
if (isset($_POST['otrosconductores']) && $_POST['otrosconductores'] == No) { echo " checked='checked'"; }?> /><br />                         
</fieldset>
<input type="submit" value="Enviar" name="botonenviar" />
</form>
<?php
if(isset($_POST['botonenviar']) && $_POST['nombre'] == "")
{echo 
"Por favor rellene el nombre<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['apellidos'] == "")
{echo 
"Por favor rellene el apellido<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['direccion'] == "")
{echo 
"Por favor rellene la dirección<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['dni'] == "")
{echo 
"Por favor rellene su D.N.I.<br />";}  
elseif(isset(
$_POST['botonenviar']) && $_POST['dia-nacimiento'] == "")
{echo 
"Por favor rellene el día de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['mes-nacimiento'] == "")
{echo 
"Por favor rellene el mes de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['ano-nacimiento'] == "")
{echo 
"Por favor rellene el año de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['nombre-compania'] == "")
{echo 
"Por favor rellene el nombre de la compañía<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['numero-poliza'] == "")
{echo 
"Por favor rellene el número de póliza<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['forma-pago'] == "")
{echo 
"Por favor rellene la forma de pago<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['telefono-contacto'] == "")
{echo 
"Por favor rellene el teléfono de contacto<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['otrosconductores'] == "")
{echo 
"Por favor rellene si hay otros conductores<br />";}       
elseif(isset(
$_POST['botonenviar']))
{echo 
"Nombre: " .$_POST['nombre']. "<br />";
 echo 
"Apellidos: " .$_POST['apellidos']. "<br />";
 echo 
"Direccion: " .$_POST['direccion']. "<br />";
 echo 
"D.N.I.: " .$_POST['dni']. "<br />";
 echo 
"Fecha de nacimiento: ";
 if (
$_POST['dia-nacimiento']!= ""
  { echo 
"&nbsp;" .$_POST['dia-nacimiento'] ; } 
 if (
$_POST['mes-nacimiento']!= ""
  { echo 
"&nbsp;" .$_POST['mes-nacimiento'] ; } 
 if (
$_POST['ano-nacimiento']!= ""
  { echo 
"&nbsp;" .$_POST['ano-nacimiento']. "<br />"; } 
 echo 
"Nombre compañía aseguradora anterior: " .$_POST['nombre-compania']. "<br />";
 echo 
"Número de póliza: " .$_POST['numero-poliza']. "<br />";
 echo 
"Forma de pago: " .$_POST['forma-pago']. "<br />";
 echo 
"Teléfono de contacto: " .$_POST['telefono-contacto']. "<br />";
 if (isset(
$_POST['otrosconductores']) && $_POST['otrosconductores']=="Si")
         {echo
"Otros conductores: Si <br />";
        
//include('otro-conductor.php');
        
}
         elseif (isset(
$_POST['otrosconductores']) && $_POST['otrosconductores']=="No"){ echo "Otros conductores: No <br />";
}  
}
?>


¿Como puedo mantener la fecha?

Por otro lado, ¿es buena la idea de validar campo a campo desde un if o es mejor anidarlo todo o incluso resumir esta parte?

Código PHP:
if(isset($_POST['botonenviar']) && $_POST['nombre'] == "")
{echo 
"Por favor rellene el nombre<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['apellidos'] == "")
{echo 
"Por favor rellene el apellido<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['direccion'] == "")
{echo 
"Por favor rellene la dirección<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['dni'] == "")
{echo 
"Por favor rellene su D.N.I.<br />";}  
elseif(isset(
$_POST['botonenviar']) && $_POST['dia-nacimiento'] == "")
{echo 
"Por favor rellene el día de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['mes-nacimiento'] == "")
{echo 
"Por favor rellene el mes de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['ano-nacimiento'] == "")
{echo 
"Por favor rellene el año de nacimiento<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['nombre-compania'] == "")
{echo 
"Por favor rellene el nombre de la compañía<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['numero-poliza'] == "")
{echo 
"Por favor rellene el número de póliza<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['forma-pago'] == "")
{echo 
"Por favor rellene la forma de pago<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['telefono-contacto'] == "")
{echo 
"Por favor rellene el teléfono de contacto<br />";}
elseif(isset(
$_POST['botonenviar']) && $_POST['otrosconductores'] == "")
{echo 
"Por favor rellene si hay otros conductores<br />";} 



Saludos.

Etiquetas: campos, lista, mantener, option, select, formulario, validador
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 23:23.