Bonjour

Toujours dans mon blog je souhaite ajouter la page commentaires.php qui comporte un formulaire et la liste des commentaires sous l'article de la page.

si j'ajoute la page commentaires.php avec un include dans mon article , les commentaires ne s'enregistrent plus.
je ne passe pas par l'affichage du message de reussite et je reviens sur la page
actualite.php.

J'ai testé à part le fichier commentaires.php et tout fonctionne correctement.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
 
<?php
settype($strAuteur, "string");
               settype($strCommentaire, "string");
               settype($intId, "int");
               settype($strAuteurErreur, "string");
               settype($strCommentaireErreur, "string");
               settype($blnFormulaireEnvoye, "bool"); 
               settype($blnErreur, "bool"); 
               settype($blnCacheForm, "bool");
 
               $blnFormulaireEnvoye = isset($_POST ["txtAuteur"]);
 
                       if ($blnFormulaireEnvoye){
 
                        $strAuteur = trim(htmlspecialchars($_POST["txtAuteur"]));
 
                        if ($strAuteur =="") {
                             $strAuteurErreur = "L'auteur du message est obligatoire.";
                               $bln_erreur = true;
                        }
                        $strCommentaire = trim(htmlspecialchars($_POST["txtCommentaire"]));
 
                        if ($strCommentaire =="") {
                             $strCommentaireErreur = "Le commentaire est obligatoire.";
                               $bln_erreur = true;
                        }
                        $intId =  trim(htmlspecialchars($_POST["intId"]));
                      }  
 
                      if ($blnFormulaireEnvoye && !$blnErreur){
 
                      $oConnexion =new \bdd\Connexion();
 
                      $oprepare = $oConnexion->cnx->prepare("INSERT into commentaires(auteur, commentaire, id_billet) VALUES (:auteur, :commentaire, :id_billet)");   
 
                        $oprepare->bindValue(":id_billet", $intId, \PDO::PARAM_INT);  
                       $oprepare->bindValue(":auteur", $strAuteur, \PDO::PARAM_STR);  
                       $oprepare->bindValue(":commentaire", $strCommentaire, \PDO::PARAM_STR);  
 
 
                      $oprepare->execute();
                      //Affichage de la reussite :
                      echo "<h3 class=font-middle>Merci : Votre message a été enregistré. Merci de votre participation ! </h3>";
 
 
 
                      $blnCacheForm=true;  
 
                   }
                   if ($blnCacheForm==FALSE){
                 ?>       
 
                  <form name="frm" method="POST" action="<?php   echo $_SERVER["PHP_SELF"]?>">  
 
                   <input type="hidden" value="<?php echo $_GET["id"]; ?>" name="intId">
                    <p>
                    <label for ="txtAuteur"><span class="erreur"><?php echo $strAuteurErreur?></span><br></label>
                    <input type="text" name="txtAuteur"  id="txtAuteur" value="<?php echo $strAuteur?>" placeholder="Auteur" />  
                   </p>
                   <p>
                   <label for ="txtCommentaire"><span class="erreur"><?php echo $strCommentaireErreur?></span><br></label>
                   <textarea name="txtCommentaire" id="txtCommentaire" rows="5" cols="30" placeholder="Votre Commentaire" ><?php echo $strCommentaire?> </textarea>
                   </p> 
                   <input type="submit" value="ENVOYER" name="btn" />
                   </form>         
 
               <?php
                 }
                 ?> 
             </div>
 
                  <!--affichage des commentaires expédiées-->
                 <?php
 
       if(empty($_GET['id'])){
        header('Location: actualite.php');
        exit();
      }
      else{
       $id_billet= ($_GET['id']);
      }
 
      $req = $oConnexion->cnx->prepare('SELECT id, auteur, commentaire, date_commentaire FROM commentaires WHERE id_billet=:id_billet ORDER BY date_commentaire');
      $req->execute(array('id_billet'=>$id_billet));
 
 
 
 
 
 
 
  foreach ($req as $donnees){
     //récupération des dates
     $strDateCommentaire = substr($donnees["date_commentaire"], 8, 2). "/".substr($donnees["date_commentaire"], 5, 2)."/".substr($donnees["date_commentaire"], 0, 4); 
     echo "<h3 class=blog-title-3>".$donnees["auteur"]."</h3>"."<br>";
     echo"<p class=blog-create>"."Crée le".$strDateCommentaire;
     echo "<p class=blog-comment>".$donnees["commentaire"]."</p>";
     echo "<p class=blog-hidden>"."-"."</p>";
  }
 
  $req->closeCursor();
  ?>