J'ai un formulaire avec 5 étapes. A la troisième je dois demander à l'utilisateur s'il veut en faire une utilisation pro ou privée. Pour cela j'ai utilisé un switch, qui marche. Ensuite selon la réponse j'affiche le reste de mon formulaire. Certains champs sont obligatoires et je dois faire un test pour savoir s'il est renseigné ou pas. Une fois que tous les champs sont bons je les insère dans une BD. Voilà l'exposé de la situation. Maintenant le code ... dont je coupe une partie.
if ( ($PARAM['action_form'] == "inserer" && $PARAM['use'] == "pro") && (!isset($PARAM['genre']) && !isset($PARAM['prenom']) && !isset($PARAM['nom']) ) ) {
$errori = 1;
} elseif ( ($PARAM['action_form']=="inserer" && $PARAM['use'] == "private") && ($PARAM['genre'] == "" || $PARAM['prenom'] == "" || $PARAM['nom'] == "") ) {
$errori = 1;
} elseif ($errori !=1) {
$prenom = addslashes($PARAM[prenom]);
$nom = addslashes($PARAM[nom]);
$sql = "insert into table ....";
$query = mysql_query($sql);
print "<script>";
print " self.location='step4.php';";
print "</script>";
exit;
}
Plus bas dans le code je teste si les champs sont remplis et si ce n'est pas le cas, je réécris le formulaire en rouge pour bien signifier qu'il faut les remplir.Mon problème est que quel que soit l'endroit où je place les parenthèses je saute directement au step4.php. J'ai essayé de ne pas tout mettre dans une grande parenthèse, mais dans ce cas, soit un cas marche et l'autre pas, soit c'est l'inverse.
Ma question est pourquoi cela ne marche pas comme désiré, est-ce que cette méthode est la bonne et si non quelles sont les alternatives ?
Pour résumer, j'ai un tas de cheveux au pied de ma chaise et comme il ne m'en reste plus beaucoup, je sollicite votre connaissance pour m'en épargner quelqu'uns.
D'avance merci !
PS : pourquoi n'y a-t-il pas de jolies couleurs dans le code ?