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:<? 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 y a peut être plus simple mais ça devrait marcher :
$erreur = '0'; if(!empty($_POST)) { foreach($_POST as $cle=>$val) { if(empty($val)) { echo 'Le champ ',$cle,' est obligatoire.<br />'; $erreur = '1'; } } if($erreur = '0') { echo 'tout est ok'; } } else { ... echo '<input type = "button" value = "<- Precedent" onclick="history.go(-1)" />'; echo '<input type = "submit" value = "Valider" />' ; } ?> -
-
-
Le père a raison, ça m'affiche juste une douzaine de fois "Le formulaire est correctement rempli", je vais essayer cette idée de variable, transformer mon else en elseif si il faut.
-
Je n'ai pas essayé ta solution, mais le problème est réglée, j'ai affecté une variable aux erreurs, comme tu l'as fait, mais pas avec le même traitement de celle-ci, merci quand même de votre aide.