Bonjours a tous je suis en train de grave galerer pour cree un regex potable pour controler la date,
Donc j'ai trois formulaire : un pour les jours donc de 1 a 31
1 pour les mois donc 1-12
et un pour les annees en 4 chifre.
Et me voila bloquer, Surtout pour le premier (et le deuxieme bien sur, c'est cassi le meme), pouvez vous maider, merci d'avance.
controler ce que met l'utilisateur, si il met 32 le regex me renvoit non, et je marque date non valide si c'est bon je passe au controle suivant!
Comprendez? ;-)
if($date_mois_entree==1|3|5|7|8|10|12)//si on est dans un mois a 31 jours { if($date_jour_entree>31)//si la date est plus grande que 31 { echo'votre date n\'est pas valide'; } }
elseif($date_moi_entree==2|4|6|9|11|)//si on est dans un mois a 30 jours { if($date_jour_entree>30)//si la date est plus grande que 30 { echo'votre date n\'est pas valide'; } }
Ca serait pas mieux de faire 3 champs <select></select> avec chacun toutes les options possibles ? Pour les jours et l'année, tu peux même générer ça en PHP
/// quand on rentre une date : $date_jour_entree = $_POST['jour'] ; $date_mois_entree = $_POST['mois'] ; $date_années_entree = $_POST['année'] ;
/// debut du script de verification
if(is_numeric($date_jour_entree) != true or is_numeric($date_mois_entree) != true or is_numeric($date_années_entree) != true)/// on verifie que seul les valeurs numariques sont insérées { echo'la date doit etre ecrit en valeur numerique uniquement '; exit ; }
elseif(strlen($date_années_entree) != 4)/// on verifie que la date est sous la forme 1989 {echo' l\'année doit ecrit sous cette forme la : 1989 ' ; exit ;}
else{ /// verification de la validité des jours et des mois if($date_mois_entree > 12 or $date_mois_entree < 1){ echo'votre date n\'est pas valide, ce mois n\'existe pas'; exit ; }
elseif($date_mois_entree==1|3|5|7|8|10|12)//si on est dans un mois a 31 jours { if($date_jour_entree > 31 or $date_jour_entree < 1)//si la date est plus grande que 31 { $validation = 'non'; } }
elseif($date_moi_entree==2|4|6|9|11)//si on est dans un mois a 30 jours { if($date_jour_entree > 30 or $date_jour_entree < 1)//si la date est plus grande que 30 { $validation = 'non'; } } }
if($validation == 'non') { echo'votre date n\'est pas valide, ce jour n\'existe pas'; exit ; } else{
/// Faisons correspondre les chiffres à leurs noms correspondants
Voila , je me suis amusé a faire un petit script de verification de la date :
Bin mon vieux !
Si je peux me permettre, pour utiliser ton script, j'aime autant me coder une petite regex alors !
De plus, is_numeric() ne vaut pas un clou car accepte des float.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)