Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2012, 12:20
clipan
 
Fecha de Ingreso: enero-2012
Ubicación: en buenos aires
Mensajes: 41
Antigüedad: 12 años, 9 meses
Puntos: 1
fecha de nacimiento

LES TRAIGO UN MÍNIMO APORTE.

NO TENGO MUCHA EXPERIENCIA CON PHP PERO FUE LO ÚNICO QUE SE ME OCURRIÓ.

PARA LOS NOVATOS PUEDE SER ALGO MUY ÚTIL A LA HORA DE VALIDAR LA FECHA DE NACIMIENTO DE LA PERSONA QUE SE REGISTRE.

EMPEZAMOS:


1 FORMULARIO


Código PHP:
Ver original
  1. <form action="validar_registro.php" method="post">
  2.  
  3. <select name="anio">
  4. <?php
  5. for ($i=$anio2=date("Y");$i>$anio1=date("Y")-80;$i+= -1) {
  6. ?>
  7. <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  8. <?php  
  9. }  
  10. ?>
  11. </select>
  12.  
  13. <span style="font-size:12px; color:#333;">Mes:</span><select name="mes">
  14.  
  15. <?php
  16. $anio = array("01","02","03","04","05","06","07","08","09","10","11","12");
  17. for($i=0; $i<12; $i++) {
  18. ?>
  19. <option value="<?php echo $anio[$i]; ?>"><?php echo $anio[$i]; ?></option>
  20. <?php  
  21. }  
  22. ?>
  23. </select>
  24.  
  25.  
  26. <span style="font-size:12px; color:#333;">D&iacute;a:</span>
  27. <input type="text" name="dia" size="2">
  28.  
  29. </form>



2 validar_registro.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $fecha_nacimiento = $_POST['anio']."-".$_POST['mes']."-".$_POST['dia'];
  4.  
  5.    
  6.    
  7. if (preg_match('/^([0-9]{4})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/',$fecha_nacimiento)){
  8.        
  9.  
  10. if ($_POST['mes'] == "02" && $_POST['dia'] == "30" ){
  11.    
  12. echo "recuerde que febrero solo contiene 28 o 29 dias segun el a&ntilde;o";
  13.  
  14. } else {
  15.    
  16. if ($_POST['mes'] == "02" && $_POST['dia'] == "31" ){
  17.    
  18. echo "recuerde que febrero solo contiene 28 o 29 dias segun el a&ntilde;o";
  19.  
  20. } else {
  21.    
  22. $query = 'INSERT INTO usuarios (fecha_nacimiento)
  23. VALUES (\''.$fecha_nacimiento.'\')';
  24. mysql_query($query) or die(mysql_error());
  25.  
  26. echo 'fecha de nacimiento correcta.<br />';
  27.  
  28. }
  29.  
  30. }
  31.  
  32. } else { echo "la fecha de nacimiento no es correcta"; }
  33.  
  34. ?>