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<form action="validar_registro.php" method="post">
<select name="anio">
<?php
for ($i=$anio2=date("Y");$i>$anio1=date("Y")-80;$i+= -1) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php
}
?>
</select>
<span style="font-size:12px; color:#333;">Mes:</span><select name="mes">
<?php
$anio = array("01","02","03","04","05","06","07","08","09","10","11","12"); for($i=0; $i<12; $i++) {
?>
<option value="<?php echo $anio[$i]; ?>"><?php echo $anio[$i]; ?></option>
<?php
}
?>
</select>
<span style="font-size:12px; color:#333;">Día:</span>
<input type="text" name="dia" size="2">
</form>
2 validar_registro.php
Código PHP:
Ver original<?php
$fecha_nacimiento = $_POST['anio']."-".$_POST['mes']."-".$_POST['dia'];
if (preg_match('/^([0-9]{4})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/',$fecha_nacimiento)){
if ($_POST['mes'] == "02" && $_POST['dia'] == "30" ){
echo "recuerde que febrero solo contiene 28 o 29 dias segun el año";
} else {
if ($_POST['mes'] == "02" && $_POST['dia'] == "31" ){
echo "recuerde que febrero solo contiene 28 o 29 dias segun el año";
} else {
$query = 'INSERT INTO usuarios (fecha_nacimiento)
VALUES (\''.$fecha_nacimiento.'\')';
echo 'fecha de nacimiento correcta.<br />';
}
}
} else { echo "la fecha de nacimiento no es correcta"; }
?>