Si disponemos en forma separada del día, mes y año hay, una función que nos indica si se trata de una fecha válida:
boolean checkdate ( mes, dia, año)
Retorna verdadero si la fecha es válida, falso en caso contrario.
Implementemos un formulario que nos solicite el ingreso de una fecha:
<head> <title>Problema</title> </head> <body> <form action="pagina2.php" method="post"> Ingrese una fecha (dd/mm/aaaa): <input type="text" name="dia" size="2"> <input type="text" name="mes" size="2"> <input type="text" name="anio" size="4"> <br> <input type="submit" value="validar"> </form> </body> </html>
Y la página que procesa la fecha ingresada es:
<html> <head> <title>Problema</title> </head> <body> <?php if (checkdate($_REQUEST['mes'],$_REQUEST['dia'],$_REQUEST['anio'])) echo "La fecha ingresada es correcta"; else echo "La fecha no es válida"; ?> </body> </html>
En este programa llamamos a la función checkdate pasando los tres parámetros requeridos en el orden: mes, día y año.
Podemos validar previamente si se han cargado valores numéricos en cada control "text", esto llamando a la función is_numeric(variable). Retorna true si la variable almacena un número, falso en caso contrario.
El programa modificado quedará entonces:
<html> <head> <title>Problema</title> </head> <body> <?php if (is_numeric($_REQUEST['dia']) && is_numeric($_REQUEST['mes']) && is_numeric($_REQUEST['anio'])) { if (checkdate($_REQUEST['mes'],$_REQUEST['dia'],$_REQUEST['anio'])) echo "La fecha ingresada es correcta"; else echo "La fecha no es válida"; } else echo "La fecha no es válida"; ?> </body> </html>
Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:\wamp\www con un nombre con extensión php (si hay varios cuadros
de texto grabar cada uno en un archivo distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear: http://localhost/pagina1.php (o el nombre del
archivo que le dió)
Confeccionar un formulario que solicite la carga de una fecha, disponer tres controles HTML de tipo "select" para elegir el día, el mes y el año. Validar si se trata de una fecha válida en la segunda página.