Bonjour,
j'ai un formulaire et à la validation de celui-ci une base de données est créé (tout marche bien).
J'ai ajouté un peu de code pour alerter si les champs du formulaires ne sont pas remplis et j'ai un petit souci.
Ma logique (peut-être pas la bonne..) :
A la validation du formulaire Si les variable sont vides j'alerte (le code marche), Sinon j'ajoute à l'attribut action ="traitement.php" (le traitement ne s'effectue pas et il reste sur la page formulaire)
Avant de vous ecrire j'ai :
effectué un var_dump($action) et je ne vois pas de problème;
contrôlé si à la validation du formulaire avec les champs remplis il y a bien action="traiement.php" et c'est OK;
Voici mon code :
Merci pour votre aide et vos éclaircissements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 $erreur =null; $action = null; if(isset($_POST['valider'])) { if(empty($_POST['hote']) && empty($_POST['login']) && empty($_POST['mdp'])) { $erreur="remplissez vos champs"; } else if(!empty($_POST['hote']) && !empty($_POST['login']) && !empty($_POST['mdp'])){ $action = "traitement.php"; } } echo var_dump($action); ?> <body> <div class="container"> <div class="row vh-100 align-items-center justify-content-center"> <div class="col-4 bg-light p-3"> <h3 class="text-center">Création base de donnée</h3> <?php if($erreur) : ?> <div class = "alert alert-danger"> <?=$erreur ?> </div> <?php endif?> <form action="<?=$action != null ? $action :'' ?>" method="post"> <div class="form-group mb-2"> <label for="hote">Hôte :</label> <input type="text" class="form-control" name="hote"> </div> <div class="form-group mb-2"> <label for="login">login :</label> <input type="text" class="form-control" name="login"> </div> <div class="form-group"> <label for="mdp">Mot de passe :</label> <input type="password" class="form-control" name="mdp"> </div> <input type="submit" name="valider" class="btn btn-primary mt-3" value="envoyer"> </form> </div> </div> </body>
Partager