par
Ryle » 03 mai 2009, 12:42
Lorsque tu tests " if(!$site) ", tu vas en fait demander à php de considérer que la variable $site contient un booléen, et vérifier si la valeur de celui-ci est faux ou pas. Si le champ est laissé vide ou contient la valeur 0, alors php considérer que $site est un booléen égal à FALSE, pour toute autre valeur, il considérera qu'il est égal à TRUE.
Donc pour un input, cette méthode peut fonctionner (faut juste que l'utilisateur ne veuille pas spécifier la valeur 0, sans quoi php considérer qu'il n'a rien renseigné). Pour un select simple, c'est un peu différent, dans la mesure où tu as toujours une option de sélectionnée.
La valeur de ton option sélectionnée par défaut étant "m", php considérer que la variable est spécifiée et ne demandera pas de la renseigner.
Tu peux donc au choix modifier la valeur de la première option de ton select (une value à vide produira le même effet qu'un input non renseigné) ou modifier ton test php et contrôller la valeur spécifié. Basiquement, cela donnerait :
if ($_POST['moisdeb'] == 'm')
echo "Le mois est obligatoire";
Lorsque tu tests " if(!$site) ", tu vas en fait demander à php de considérer que la variable $site contient un booléen, et vérifier si la valeur de celui-ci est faux ou pas. Si le champ est laissé vide ou contient la valeur 0, alors php considérer que $site est un booléen égal à FALSE, pour toute autre valeur, il considérera qu'il est égal à TRUE.
Donc pour un input, cette méthode peut fonctionner (faut juste que l'utilisateur ne veuille pas spécifier la valeur 0, sans quoi php considérer qu'il n'a rien renseigné). Pour un select simple, c'est un peu différent, dans la mesure où tu as toujours une option de sélectionnée.
La valeur de ton option sélectionnée par défaut étant "m", php considérer que la variable est spécifiée et ne demandera pas de la renseigner.
Tu peux donc au choix modifier la valeur de la première option de ton select (une value à vide produira le même effet qu'un input non renseigné) ou modifier ton test php et contrôller la valeur spécifié. Basiquement, cela donnerait :
[php]if ($_POST['moisdeb'] == 'm')
echo "Le mois est obligatoire";[/php]