lunes, 25 de febrero de 2013

Ejemplo de formulario: Fecha de nacimiento

FORMULARIOS Y PHP

Hola que tal, una vez más vamos a adentrarnos en la programación de PHP y en esta ocasión haremos un ejemplo de un formulario que solicite el nombre de una persona, presente las opciones para que el usuario ingrese el día, mes y año en que nació.  Para esto vamos a utilizar las sentencias if, for, switch y los formularios de html.

Paso No. 1 - Usamos el condicional if para mostrar el formulario y luego procesarlo.

<?
if(!$_POST) {
?>

Paso No. 2 - Escribimos el código de formulario y los campos dia, mes y año los procesamos con un ciclo for.

<form action="<? $_POST ?>" method=POST >
   Nombre: <input type=text required name=nombre /><br>
   Fecha de Nacimiento: <br>
   Día: <select name=dia>
      <?
      for($i=1; $i<=31; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select> 
   Mes: <select name=mes>
      <?
      for($i=1; $i<=12; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select>
   Año: <select name=anio>
      <?
      for($i=1960; $i<=2013; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select><br>
   <input type=submit value=Mostrar>
</form>

Paso No. 3 - Asignamos a nuestras variable de php el valor de cada uno de los campos del formulario.

<?
} else {
$nombre = $_POST['nombre'];
$dia= $_POST['dia'];
$mes = $_POST['mes'];
$anio = $_POST['anio'];

Paso No. 4 - Ahora convertiremos los meses de número a texto.

switch($mes) {
   case 1:
      $mestexto = "enero";
      break;
    case 2:
      $mestexto = "febrero";
      break;
    case 3:
      $mestexto = "marzo";
      break;
    case 4:
      $mestexto = "abril";
      break;
    case 5:
      $mestexto = "mayo";
      break;
    case 6:
      $mestexto = "junio";
      break;
    case 7:
      $mestexto = "julio";
      break;
    case 8:
      $mestexto = "agosto";
      break;
    case 9:
      $mestexto = "septiembre";
      break;
    case 10:
      $mestexto = "octubre";
      break;
    case 11:
      $mestexto = "noviembre";
      break;
    case 12:
      $mestexto = "diciembre";
      break;
}

Paso No. 5 - Mostramos los resultados

echo "$nombre usted nació el $dia de $mestexto de $anio";
}
?>

Bien eso es todo espero que al ejecutarlo no les de ningún problema.  Siempre le dejo un ejemplo del funcionamiento aquí.


6 comentarios:

  1. alguien que me ayude a aser mi pagina php porfavor no se casi nada pero me interesa mucho esto

    ResponderEliminar
    Respuestas
    1. Hola amigo:
      Si no sabes casi nada te toca una de 2 o hacerlo de una manera facil con dreamweaver y html o estudiar un poco.

      Eliminar
  2. Hola :
    Esta muy bien, pero tiene un fallo , vamos a ver , si le pongo que he nacido el 31 de febrero de 1980 , va y se lo cree, falta solucionar los dias de cada mes y visiestos.

    ResponderEliminar
  3. Hola esta muy bueno tu ejemplo pero alguien podría decirme porque no me cargan las fechas dentro de las listas desplegables tengo el código tal cual como lo pones.
    Saludos!.

    ResponderEliminar
  4. Lo unico que no creo que alguien pueda nacer el 31 de febreo... ;)

    ResponderEliminar