Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/08/2011, 09:05
albertrc
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 10 meses
Puntos: 1
letra dni con php y html select desplegable html

tengo un select desplegable con las letras del dni
estoy haciendo la validación con php

lo que quiero es que si no se selecciona ninguna letra salga un mensaje de error diciendo
que tengo que seleccionar una letra

mas adelante quiero hacer que el numero de dni y la letra se correspondan en caso contrario salga
un mensaje de error
$numero = "12345678"; //asignación del número de DNI

function letra_nif($dni) {
return substr("TRWAGMYFPDXBNJZSQVHLCKE",strtr($dni,"XYZ", "012")%23,1);
}

echo 'El NIF del DNI "'.$numero.'" es "'.$numero.letra_nif($numero).'"';
aunque no se ve muy complicado para un novato como yo de momento lo dejo para mas adelante

en este caso quiero que me haga selected de una letra en concreto que previamente he seleccionado y si envió el formulario si el formulario tiene 20 campos no se tengan que volver a rellenar
todos si uno esta mal o vació una vez esten todos los campos correctos haga el insert

en este caso la información no la cojo de ninguna base de datos los 23 letras llegan del formulario
pero antes de entrar un campo en la base de datos lo valido que sea uno de los 23 en caso contrario
ara el else y saldrá un mensaje de error diciendo que tiene que seleccionar una letra

o se tendrían que guardar las 23 letras en un array y hacer un for que devolviera los 23 campos

en el <option value=”” selected=”selected”> - Selecciona una Letra del Dni - </option> el
value tanto si es un numero como una letra tiene que estar vacío o se puede sacar el value=””

tengo las mismas dudas con las etiquetas html y php checkbox, radiobutton ,file, textarea
hay alguna pagina web preferiblemente en español con un ejemplo fácil y que se entienda
Código PHP:
Ver original
  1. if(isset($_POST['submit']))
  2. {
  3.     $letra_dni_cliente = $_POST["letra_dni_clientee"];
  4.     if(
  5.         $letra_dni_cliente  == 'a' OR $letra_dni_cliente == 'b' OR $letra_dni_cliente == 'c' OR $letra_dni_cliente == 'd' OR $letra_dni_cliente == 'e'
  6.         OR $letra_dni_cliente == 'f' OR $letra_dni_cliente == 'g' OR $letra_dni_cliente == 'h' OR $letra_dni_cliente == 'j' OR $letra_dni_cliente == 'k'
  7.         OR $letra_dni_cliente == 'l' OR $letra_dni_cliente == 'm' OR $letra_dni_cliente == 'n' OR $letra_dni_cliente == 'p' OR $letra_dni_cliente == 'q'
  8.         OR $letra_dni_cliente == 'r' OR $letra_dni_cliente == 's' OR $letra_dni_cliente == 't' OR $letra_dni_cliente == 'v' OR $letra_dni_cliente == 'w'
  9.         OR $letra_dni_cliente == 'x' OR $letra_dni_cliente == 'y' OR $letra_dni_cliente == 'z'
  10.       )
  11.      {
  12.         $hostname="***********";
  13.         $user="***********";
  14.         $password="********";
  15.         $database="*********";
  16.  
  17.             $link = mysqli_connect($hostname,$user,$password,$database);
  18.        
  19.             $query_insert_cliente =
  20.             "INSERT INTO clientes (letra_dni_cliente)
  21.            VALUES("\"" .   strtolower($letra_dni_cliente) .  "\");";
  22.             $result_insert_cliente = mysqli_query($link,$query_insert_cliente)  or die (mysqli_error($link));
  23.            
  24.             echo 'letra de dni registrada';
  25.      } 
  26.  
  27.     else{
  28.         $letra_dni_cliente = $_POST["letra_dni_cliente"];
  29.         if( !$letra_dni_cliente  == 'a' OR !$letra_dni_cliente == 'b' OR !$letra_dni_cliente == 'c' OR !$letra_dni_cliente == 'd' OR !$letra_dni_cliente == 'e'
  30.             OR !$letra_dni_cliente == 'f' OR !$letra_dni_cliente == 'g' OR !$letra_dni_cliente == 'h' OR !$letra_dni_cliente == 'j' OR !$letra_dni_cliente == 'k'
  31.             OR !$letra_dni_cliente == 'l' OR !$letra_dni_cliente == 'm' OR !$letra_dni_cliente == 'n' OR !$letra_dni_cliente == 'p' OR !$letra_dni_cliente == 'q'
  32.             OR !$letra_dni_cliente == 'r' OR !$letra_dni_cliente == 's' OR !$letra_dni_cliente == 't' OR !$letra_dni_cliente == 'v' OR !$letra_dni_cliente == 'w'
  33.             OR !$letra_dni_cliente == 'x' OR !$letra_dni_cliente == 'y' OR !$letra_dni_cliente == 'z')
  34.             {
  35.                 $letra_dni_cliente_error = 'Introduzca la letra del dni ex: E';
  36.             }
  37.         }
  38. }
Código HTML:
Ver original
  1. * Campos Obligatoris
  2.         <form action="formulario_de_registro.php" method="post">
  3. <label for="letra_dni_cliente">letra Dni: *</label><br/>
  4.               <select id="letra_dni_cliente" name="letra_dni_cliente">
  5.                 <option value="" selected="selected"> - Selecciona una letra del Dni - </option>
  6.                 <optgroup label="letra Dni">
  7.                 <option value="a">A</option>
  8.                 <option value="b">B</option>
  9.                 <option value="c">C</option>
  10.                 <option value="d">D</option>
  11.                 <option value="e">E</option>
  12.                 <option value="f">F</option>
  13.                 <option value="g">G</option>
  14.                 <option value="h">H</option>
  15.                 <option value="j">J</option>
  16.                 <option value="k">K</option>
  17.                 <option value="l">L</option>
  18.                 <option value="m">M</option>
  19.                 <option value="n">N</option>
  20.                 <option value="p">P</option>
  21.                 <option value="q">Q</option>
  22.                 <option value="r">R</option>
  23.                 <option value="s">S</option>
  24.                 <option value="t">T</option>
  25.                 <option value="v">V</option>
  26.                 <option value="w">W</option>
  27.                 <option value="x">X</option>
  28.                 <option value="y">Y</option>
  29.                 <option value="z">Z</option>
  30.                 </optgroup>
  31.               </select><br/>

[PHP] <?php echo $letra_dni_cliente_error;?>[/PHP
Código HTML:
Ver original
  1. ]<br/>
  2. <input type="submit" name="submit" value="submit"/><br/>
  3.         </form>