2010-05-26 12 views
-1

Dans mon formulaire, j'utilise une liste déroulante pour afficher le jour, le mois et l'année. Pouvez-vous m'aider à valider la date? Je dois valider l'âge entré est plus grand que 15. Vérifiez également pour l'année bissextile etc.Valider la date de naissance et vérifier l'âge

+0

temps d'accepter une réponse. –

Répondre

6

La fonction PHP checkdate est ce que vous cherchez.

0
checkdate() 

L'âge est pas trop dur aussi:

$validdate = (date("Y")-15).date("-m-d"); 
$bday = "$y-$m-$d"; 
if ($bday > $validdate) echo "underage!"; 
+0

Merci à tous pour vos précieux commentaires. –

0

vous devez d'abord convertir votre date d'entrée en aaaa-mm-jj frormate.you ne peuvent pas directement mis validatation. vous devez convertir votre date en horodatage, puis après avoir vérifié la validation.

$strSystemMaxDate = (date('Y') - 15).'/'.date('m/d'); 
if(strtotime($strDateOfBirth) > strtotime($strSystemMaxDate)) 
{ 
    $arrErrors[] = _("Minimum age is 15 years."); 
    $blnValidated = false; 
} 
+0

pourquoi utiliser l'horodatage pour comparer? les cordes peuvent être comparées aussi bien –

0
<?php 
    $yy = $_POST[ "yy" ]; 
    $mm = $_POST[ "mm" ]; 
    $dd = $_POST[ "dd" ]; 
    if (checkdate($mm, $dd, $yy) === false) 
    { 
     die("Invalid date"); 
    } 
    $birthDate = mktime(0, 0, 0, $mm, $dd, $yy); 
    $fifteenYearsAgo = strtotime("-15 years"); 
    if ($birthDate > $fifteenYearsAgo) 
    { 
     die("You're underage!"); 
    } 
?> 
Questions connexes