Vérifier un formulaire date avec if
xunil2003
Messages postés
766
Date d'inscription
Statut
Membre
Dernière intervention
-
xunil2003 Messages postés 766 Date d'inscription Statut Membre Dernière intervention -
xunil2003 Messages postés 766 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon formulaire je n'arrive pas a faire la vérification pour l'année de naissance.
1/ vérifier que le chiffre est supérieur a 1900
2/ vérifier que le chiffre est inférieur a 2020
3/ Vérifier que le champ est vide.
ou est mon erreur ?
Merci.
Dans mon formulaire je n'arrive pas a faire la vérification pour l'année de naissance.
1/ vérifier que le chiffre est supérieur a 1900
2/ vérifier que le chiffre est inférieur a 2020
3/ Vérifier que le champ est vide.
ou est mon erreur ?
if ($_POST['annee_de_naissance']>1900){
echo "<p align='center' style='color:green;'>"."<strong>L'année de naissance est doit être un chiffre supérieur à 1900</strong>"."</p>";
}elseif ($_POST['annee_de_naissance']<2020){
echo "<p align='center' style='color:red;'>"."<strong>L'année de naissance doit être un chiffre entre 1900 et ".$anne_en_cours." !</strong>"."</p>";
}else ($_POST['annee_de_naissance']){
echo "<p align='center' style='color:red;'>"."<strong>Le champ année de naissance est vide !</strong>"."</p>";
Merci.
9 réponses
-
<?php if(empty($_POST['annee_de_naissance'])){ echo "<p align='center' style='color:red;'>"."<strong>Le champ année de naissance est vide !</strong>"."</p>"; }elseif($_POST['annee_de_naissance'] < 1900){ echo "<p align='center' style='color:green;'>"."<strong>L'année de naissance est doit être un chiffre supérieur à 1900</strong>"."</p>"; }elseif ($_POST['annee_de_naissance'] > $anne_en_cours){ echo "<p align='center' style='color:red;'>"."<strong>L'année de naissance doit être un chiffre entre 1900 et ".$anne_en_cours." !</strong>"."</p>"; } // else ($_POST['annee_de_naissance']){ //la ça ne correspond à rien ? // et tes tests < > étaient inversés -
Bonsoir,
Quand je tape 1850 ou 2050 ou 1951, il me répond : Le champ année de naissance est vide !.
quand le chanp n'est pas rempli , il me répond bien : Le champ année de naissance est vide !.
if(empty($_POST['annee_de_naissance'])){ echo "<p align='center' style='color:red;'>"."<strong>Le champ année de naissance est vide !</strong>"."</p>"; }elseif($_POST['annee_de_naissance'] < 1900){ echo "<p align='center' style='color:green;'>"."<strong>L'année de naissance est doit être un chiffre supérieur à 1900</strong>"."</p>"; }elseif ($_POST['annee_de_naissance'] > $anne_en_cours){ echo "<p align='center' style='color:red;'>"."<strong>L'année de naissance doit être un chiffre entre 1900 et ".$anne_en_cours." !</strong>"."</p>"; }
Merci. -
Essayer de placer vos trois condition dans des if, je sais c est pas tres recommander mais juste pour voir
-
Bonsoir,
c'est bon, j'ai oublié un e a année
ca marche
Merci. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
En récupérant la variable dans le formulaire, je n'ai aucune réponse.
L'echo affiche correctement la valeur.
Es-ce correct ?
$JOUR_DE_NAISSANCE = $_POST['jour_de_naissance']; echo $JOUR_DE_NAISSANCE ; if($JOUR_DE_NAISSANCE){ echo "<p align='center' style='color:green;'>"."<strong>Le champ jour de naissance est vide !</strong>"."</p>"; }elseif($JOUR_DE_NAISSANCE < 1){ echo "<p align='center' style='color:red;'>"."<strong>Le jour_de_naissance doit être un chiffre entre 01 et 31</strong>"."</p>"; echo '<br/>'; echo '<div align="center"><input type="button" value="Retour" onclick="javascript:history.back()">'; }elseif ($JOUR_DE_NAISSANCE > 31){ echo "<p align='center' style='color:red;'>"."<strong>Le jour de naissance doit être un chiffre entre 01 et 31 !</strong>"."</p>"; echo '<br/>'; echo '<div align="center"><input type="button" value="Retour" onclick="javascript:history.back()">'; }
Merci. -
j'ai plus simple pour toi :)
et ça gère les année bisextileif(!checkdate($_POST['mois_de_naissance'],$_POST['jour_de_naissance'],$_POST['annee_de_naissance']){ echo 'date de naissance non valide'; }
c'est pas la peine de te fatiguer à écrire 20 lignes de code alors que l'utilisateur ne l'utiliseras que 5 secondes ;) (en plus si un utilisateur est né avant 1900 souhaite utiliser ton site, tu l'empeche de venir :( ) -
Bonjour
C'est pas bon car si l'utilisateur fait une erreur de frappe dans l'un des champs
jour_de_naissance mois_de_naissance annee_de_naissance
je me retrouve avec une lettre L par exemple, de plus si il il entre 33 dans le mois sa va pas, et pour l'année si il tape 1850 aucune alerte.
Merci -
Bonjour,
Pour l'année oui avec ceci :if(empty($_POST['annee_de_naissance'])){ //echo "<p align='center' style='color:green;'>"."<strong>Le champ année de naissance est vide !</strong>"."</p>"; }elseif($_POST['annee_de_naissance'] < 1900){ echo "<p align='center' style='color:red;'>"."<strong>L'année de naissance est doit être un chiffre supérieur à 1900</strong>"."</p>"; }elseif ($_POST['annee_de_naissance'] > $annee_en_cours){ echo "<p align='center' style='color:red;'>"."<strong>L'année de naissance doit être un chiffre entre 1900 et ".$annee_en_cours." !</strong>"."</p>";
J'ai un autre problème quand je tape de le champ email, l'adresse email "cvb@free.fr" il me répond "L'adresse électronique saisie est invalide !" alors que si je tape "free2003@free.fr" elle passe ??
$valid_email = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#"; if(($EMAIL) && !(preg_match($valid_email, $EMAIL))) /* Si il y a une adresse inscrite mais invalide */ /* Si le champ "adresse électronique" est vide, */ echo "<p align='center' style='color:red;'>"."<strong>Le champs valide email est vide !</strong>"."</p>"; { /* On vérifie LES DEUX conditions réunies (avec le sugne "&&"): si on ne vérifie que la validité, en ne mettant pas d'adresse dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */ echo "<p align='center' style='color:red;'>"."<strong>L'adresse électronique saisie est invalide !</strong>"."</p>"; }
Merci. -
Bonsoir,
J'ai tout résolu, tout est ok.
Merci.