salut a tous, alors j'ai un problème au niveau de ma page php, le problème quand je suis sur ma page index et je clic sur contact normalement un formulaire va apparaître et qu'il n'enverra a la base de donner les information que quand j'aurai cliquer sur le bouton envoyer, mais moi quand je clic sur contact il envoi direct au les champs vide a la base de donner

je précise que je ne fait pas appel a une autre page pour mon code php mais il s’exécute sur la même page

voila le code mon formulaire
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
40
41
42
43
44
45
 
<div class="modal-body">
    <form  method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" >
      <div class="form-group row">
        <label for="example-text-input" class="col-2 col-form-label">Nom :</label>
        <div class="col-10">
          <input class="form-control" type="text" placeholder="Your Name" id="example-text-input" name="nom">
          <span class="error"> <?php echo $nomErr;?></span>
        </div>
      </div>
      <div class="form-group row">
        <label for="example-text-input" class="col-2 col-form-label">Prénoms :</label>
        <div class="col-10">
          <input class="form-control" type="text" placeholder="Your Last Name" id="example-text-input" name="prenom">
          <span class="error"> <?php echo $prenomErr;?></span>
        </div>
      </div>
      <div class="form-group row">
        <label for="example-email-input" class="col-2 col-form-label">Email :</label>
        <div class="col-10">
          <input class="form-control" type="email" placeholder="Tour mail adress" id="example-email-input" name="email">
          <span class="error"> <?php echo $emailErr;?></span>
        </div>
      </div>
      <div class="form-group row">
        <label for="example-tel-input" class="col-2 col-form-label">Telephone :</label>
        <div class="col-10">
          <input class="form-control" type="tel" placeholder="+213xxxxxxxxx" id="example-tel-input" name="tel">
          <span class="error"> <?php echo $telErr;?></span>
        </div>
      </div>
      <div class="form-group row">
        <label for="example-text-input" class="col-2 col-form-label">Sujet :</label>
        <div class="col-10">
          <input class="form-control" type="text" placeholder="Votre Sujet" id="example-text-input" name="sujet">
          <span class="error"> <?php echo $sujetErr;?></span>
        </div>
      </div>
      <div class="form-group">
      <label for="exampleTextarea">Votre Message :</label>
      <textarea class="form-control" id="exampleTextarea" rows="3" name="message"></textarea>
      <span class="error"> <?php echo $messageErr;?></span>
    </div>
    </form>
          </div>
et mon code php
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
<?php   
 
                    $nomErr = $prenomErr = $emailErr = $telErr = $sujetErr= $messageErr = "";
                    $nom =  $prenom =  $email =  $tel = $sujet = $message = "";
 
                    if ($_SERVER["REQUEST_METHOD"] == "POST") {
 
                          if (empty($_POST["nom"])) {
                            $nomErr = "Nom is required";
                          } else {
                            $nom = test_input($_POST["nom"]);
                            if (!preg_match("/^[a-zA-Z ]*$/", $nom)) {
                              $nomErr = "Only letters and white space allowed"; 
                            }
                          }
 
 
                          if (empty($_POST["prenom"])) {
                            $prenomErr = "Nom is required";
                          } else {
                            $prenom = test_input($_POST["prenom"]);
                            if (!preg_match("/^[a-zA-Z ]*$/", $prenom)) {
                              $prenomErr = "Only letters and white space allowed"; 
                            }
                          }
 
                          if (empty($_POST["email"])) {
                            $emailErr = "email is required";
                          } else {
                            $email = test_input($_POST["email"]);
                            if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                              $emailErr = "Invalid email format"; 
                            }
                          }
 
                           if (empty($_POST["tel"])) {
                            $telErr = "Your Number is required";
                          } else {
                            $tel= test_input($_POST["tel"]);
                            if ( preg_match ( " #^[0-9]{2}[-/ ]?[0-9]{2}[-/ ]?[0-9]{2}[-/ ]?[0-9]{2}[-/ ]?[0-9]{2}?$# " , $tel ) ){
                                echo "Le téléphone est valide";
                            }
                          }
 
                           if (empty($_POST["sujet"])) {
                            $sujetErr = "message is required";
                          } else {
                            $sujet = test_input($_POST["sujet"]);
                          }
 
                           if (empty($_POST["message"])) {
                            $messageErr = "message is required";
                          } else {
                            $message = test_input($_POST["message"]);
                          }
 
                    }
 
                    function test_input($data) {
                      $data = trim($data);
                      $data = stripslashes($data);
                      $data = htmlspecialchars($data);
                      return $data;
                    }
                    include("connexion.php");
                    $req = "INSERT INTO contact(nom,prenom,email,tel,sujet,message,date,heur,lecture) VALUES ('".$nom."','".$prenom."','".$email."','".$tel."','".$sujet."','".$message."',curdate(),curtime(),'non lu');";
                   $res= $bdd->prepare($req) or die(print_r( $bdd->errorInfo()));
                   if($res->execute()){
                        echo 'ok'; // se ok va s'executer directement en chargent la page contact au lieu de s'executer aprés avoir cliquer sur le bouton envoyé 
                   } 
                ?>