[RESOLU] Message d'erreur si choix manquant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Message d'erreur si choix manquant

Re: Message d'erreur si choix manquant

par Khidam » 12 août 2013, 15:24

J'y suis arrivé finalement en utilisant ta première proposition, mais j'ai pas compris le coup du : if(!empty($_POST["choix"]))
merci en tous cas, moogli !!!
if (isset($_POST["choix"]) && $_POST["choix"] != "") {
                //Si c'est la microbio qui est voulue
                if ($_POST["choix"] == "microbio18") {
                               $requete = "SELECT MIN(RICHESSE) as minm181, MAX(RICHESSE) as maxm181, AVG(RICHESSE) as moym181 FROM MICROBIO_DIV INNER JOIN SITE ON MICROBIO_DIV.CODE_MODALITE = SITE.CODE_MODALITE";
                }
               // etc...
else {
<p><strong>Veuillez sélectionner un bioindicateur !!!</strong></p>
}

Re: Message d'erreur si choix manquant

par Khidam » 12 août 2013, 14:55

Merci moogli

alors j'ai essayé ta dernière proposition comme ça :
if (isset($_POST["choix"]) && $_POST["choix"] != "") {
				//Si aucun bioindicateur n'est choisi
				if(!empty($_POST["choix"])) {
                                ?>
				<p><strong>Veuillez sélectionner un bioindicateur !!!</strong></p>
				<?php
				}
                //Si c'est la microbio qui est voulue
                if ($_POST["choix"] == "microbio18") {
                               $requete = "SELECT MIN(RICHESSE) as minm181 // etc
mais ça ne doit pas être ça, car ça ne fonctionne pas. ça m'écrit en permanence "Veuillez sélectionner un bioindicateur !!!" avec les résultats de la requête
idem si je met elseif pour la microbio mais là, je n'ai carrément pas les résultats de la requête...
what's the problem ?

Re: Message d'erreur si choix manquant

par moogli » 12 août 2013, 13:45

Salut,

Tu as le code qu'il te faut a une exception il te faut des else pour afficher les message d'erreur.

Donc un else sur le 1er if qui vérifie que le champ de formulaire soit la et qu'il y ai une valeur.
Et un else pour "clôturer" la série de elseif, pour indiquer que le choix n'est pas bon (cas non prévu).

Juste pour info tu peu modifier ton1er if en utilisant empty() a la place du test complet ;)
Exemple :
if(!empty($_POST['choix'])) qui fera la même chose.

@+

Message d'erreur si choix manquant

par Khidam » 12 août 2013, 12:25

Bonjour

j'ai un formulaire, qui demande à l'utilisateur de faire un choix (microbiologie, flore...) permettant d'afficher des résultats issus d'une bdd.

voici le code dans ma page cible :
if (isset($_POST["choix"]) && $_POST["choix"] != "") {
                //Si c'est la microbio qui est voulue
                if ($_POST["choix"] == "microbio18") {
                               $requete = "SELECT MIN(RICHESSE) as minm181, MAX(RICHESSE) as maxm181, AVG(RICHESSE) as moym181, MIN(DIV_SHANNON)as minm182, MAX(DIV_SHANNON) as maxm182, AVG(DIV_SHANNON) as moym182 FROM MICROBIO_DIV INNER JOIN SITE ON MICROBIO_DIV.CODE_MODALITE = SITE.CODE_MODALITE";
                }
                 //Si c'est la flore qui est voulue
                elseif ($_POST["choix"] == "flore1") {
                               $requete = "SELECT MIN(INDICE_REL) as minfl1, MAX(INDICE_REL) as maxfl1, AVG(INDICE_REL) as moyfl1 FROM FLORE_AG INNER JOIN SITE ON FLORE_AG.CODE_MODALITE = SITE.CODE_MODALITE";
                }
                 //etc...
}
}
Je n'arrive pas à trouver le code pour lui dire : si aucun choix n'a été fait, écris "Veuillez sélectionner un bioindicateur !!"

j'ai essayé un tas de trucs :

elseif ($_POST["choix"] == "NULL") {
elseif ($_POST["choix"] == NULL) {
elseif ($_POST["choix"] == 'NULL') {
elseif ($_POST["choix"] == "") {
elseif ($_POST["choix"] == ) {
?>
<p><strong>Veuillez sélectionner un bioindicateur !!!</strong></p>
<?php
}
}

mais rien ne fonctionne...
quelqu'un peut-il m'aider svp ?