Problème avec if...else.
Résolu
DocN
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voila, je dois actuellement réaliser un formulaire d'envoi de mail en php, mais j'ai un problème, j'utilise un code trouvé sur le net pour vérifier que mes champs sont remplis, le code marche, puisque quand je ne remplis pas un champ, il me le signale avec le nom associé a la variable, le problème vient de mon else, je pense, puisque si tous les champs sont remplis, je n'ai pas la suite de mon code, une page blanche qui ne m'indique pas d'erreur. Je suis désolé de ne pas pouvoir fournir tout le code, mais l'application n'est pas pour moi, néanmoins, voici la plus grosse partie, sachez que y a plusieurs echo dans le else qui appelle les variables (je ne sais pas si l'erreur vient du fait qu'on a pas le droit de mettre plusieurs echo, j'ai déjà essayé de les enlever, ça marchait pas pour autant.)
<?
if(!empty($_POST))
{
foreach($_POST as $cle=>$val)
{
if(empty($val))
{
echo 'Le champ ',$cle,' est obligatoire.<br />';
}
}
}
else
{
...
echo '<input type = "button" value = "<- Precedent" onclick="history.go(-1)" />';
echo '<input type = "submit" value = "Valider" />' ;
}
?>
Merci d'avance pour votre aide.
Voila, je dois actuellement réaliser un formulaire d'envoi de mail en php, mais j'ai un problème, j'utilise un code trouvé sur le net pour vérifier que mes champs sont remplis, le code marche, puisque quand je ne remplis pas un champ, il me le signale avec le nom associé a la variable, le problème vient de mon else, je pense, puisque si tous les champs sont remplis, je n'ai pas la suite de mon code, une page blanche qui ne m'indique pas d'erreur. Je suis désolé de ne pas pouvoir fournir tout le code, mais l'application n'est pas pour moi, néanmoins, voici la plus grosse partie, sachez que y a plusieurs echo dans le else qui appelle les variables (je ne sais pas si l'erreur vient du fait qu'on a pas le droit de mettre plusieurs echo, j'ai déjà essayé de les enlever, ça marchait pas pour autant.)
<?
if(!empty($_POST))
{
foreach($_POST as $cle=>$val)
{
if(empty($val))
{
echo 'Le champ ',$cle,' est obligatoire.<br />';
}
}
}
else
{
...
echo '<input type = "button" value = "<- Precedent" onclick="history.go(-1)" />';
echo '<input type = "submit" value = "Valider" />' ;
}
?>
Merci d'avance pour votre aide.
3 réponses
bonjour,
tu ne donnes pas d'instruction au cas ou tout se passe bien.
Il faudrait faire ça, je pense:
tu ne donnes pas d'instruction au cas ou tout se passe bien.
Il faudrait faire ça, je pense:
<? if(!empty($_POST)) { foreach($_POST as $cle=>$val) { if(empty($val)) { echo 'Le champ ',$cle,' est obligatoire.<br />'; } else { echo 'Le formulaire est rempli correctement'; } } } else { ... echo '<input type = "button" value = "<- Precedent" onclick="history.go(-1)" />'; echo '<input type = "submit" value = "Valider" />' ; } ?>
Il faut être un peu plus subtil que ça, par exemple une variable qui mémorise qu'il y a eu un pb, et la tester à la fin du traitement.
if($erreur = '0') { echo 'tout est ok'; }, ça n'affichera jamais 'tout est ok'. La comparaison, c'est ==