Récupération des conditions d'un IF
Résolu
hashux
Messages postés
12
Statut
Membre
-
hashux Messages postés 12 Statut Membre -
hashux Messages postés 12 Statut Membre -
Bonjour à tous
Le code ci-dessous m'affichera très logiquement une erreur pour les conditions non remplies:
Je dois donc utiliser le code suivant:
mais j'aimerais ne pas devoir revérifier chaque conditions.
Y a-t-il moyen de simplifier, de récupérer directement la ou les conditions qui ont validé le IF?
Merci pour votre aide
--
Le code ci-dessous m'affichera très logiquement une erreur pour les conditions non remplies:
if(isset($A) || isset($B) || isset($C)){
echo $A;
echo $B;
echo $C;
}
Je dois donc utiliser le code suivant:
if(isset($A) || isset($B) || isset($C)){
if(isset($A)){echo $A;}
if(isset($B)){echo $B;}
if(isset($C)){echo $C;}
}
mais j'aimerais ne pas devoir revérifier chaque conditions.
Y a-t-il moyen de simplifier, de récupérer directement la ou les conditions qui ont validé le IF?
Merci pour votre aide
--
4 réponses
-
Renomme tes checkbox en format array
par exemple :<td><input type="checkbox" name="p1[]" value="Préservé" /></td> <td><input type="checkbox" name="p1[]" value="Sauvé" /></td> <td><input type="checkbox" name="p1[]" value="Valorisé" /></td>
Et regarde ensuite dans ton formulaire ce que contient $_POST['p1'] ( si en post ) ou $_GET['p1'] (si en get... )
Tu verras que tu obtiens un array avec la/les cases cochées....
Ne te reste plus qu'à boucler dessus pour faire ton affichage...
par exemple$p1 = !empty($_POST['p1']) ? $_POST['p1'] : NULL; if($p1){ foreach($p1 as $V ){ echo "<br>".$V; } }
Tu n'as plus qu'à faire pareil avec p2 ...-
Au passage, merci de poster, à l'avenir, correctement ton code ( en indiquant le langage dans les balises de code afin d'avoir la coloration syntaxique comme dans les codes que je te donne )
Explications sur le fonctionnement des balises de code disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci.
-
-
Bonjour,
Si ton but est d"afficher le contenu des variable que si elles sont remplis... pas besoin de ton premier ifif(isset($A)){echo $A;} if(isset($B)){echo $B;} if(isset($C)){echo $C;}
Quoi qu'il en soit, il est préférable de récupérer proprement les variables avant de les utiliser...
Je t'invite à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
-
Bonjour
En fait, j'ai oublié un petit bout de code :if(isset($A) || isset($B) || isset($C)){
echo "l'utilisateur a coché la ou les cases suivantes:";
if(isset($A)){echo $A;}
if(isset($B)){echo $B;}
if(isset($C)){echo $C;}
}
J'affiche un message si 1 ou plusieurs conditions sont remplies et ensuite, la condition. -
-
-
<table><form action="send.php"><tr>
<td style="text-align:left;"><label><input type="checkbox" name="p1" value="commerces"/> Des commerces</label></td>
<td>→ <input type="text" name="ex-1" size="23" /></td>
<td><input type="checkbox" name="p1p" value="Préservé" /></td>
<td><input type="checkbox" name="p1s" value="Sauvé" /></td>
<td><input type="checkbox" name="p1v" value="Valorisé" /></td>
</tr>
<tr>
<td style="text-align:left;"><label><input type="checkbox" name="p2" value="logements"/> Des logements</label></td>
<td>→ <input type="text" name="ex-2" size="23" /></td>
<td><input type="checkbox" name="p2p" value="Préservé" /></td>
<td><input type="checkbox" name="p2s" value="Sauvé" /></td>
<td><input type="checkbox" name="p2v" value="Valorisé" /></td>
</tr>
<tr>
<td colspan="5"><hr /><input type="submit" value="Envoyer le formulaire" /> | <input type="reset" value="Effacer tout" /></td>
</tr></form></table> -
Merci jordane45 pour ton aide.
J'essaierai d'être plus clair pour ma prochaine question ;)