Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer des commentaires dans un blog

    1 juillet 2020 à 17:42:53

    Bonjour! 

    Je suis débutant en PHP, je crée un blog à partir du cours PHP et j arrive pas récupérer les commentaires. Ça m'affiche Notice: Undefined index: billet in C:\xampp\htdocs\correct\comment.php on line 22 et 46.

    J'aimerais avoir un peu d'aide svp..!

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Mon blog</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <h1>Mon super blog !</h1>
    <p><a href="index.php">Retour à la liste des billets</a></p>
    <?php
    // Connexion à la base de données
    try
    {
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd new PDO('mysql:host=localhost;dbname=blog''root'''$pdo_options);
    // Récupération du billet
    $req $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id = ?');
    $req->execute(array($_GET['billet']));
    $donnees $req->fetch();
    ?>
    <div class="news">
    <h3>
    <?php echo htmlspecialchars($donnees['titre']); ?>
    <em>le <?php echo $donnees['date_creation_fr']; ?></em>
    </h3>
    <p>
    <?php
    echo nl2br(htmlspecialchars($donnees['contenu']));
    ?>
    </p>
    </div>
    <h2>Commentaires</h2>
    <?php
    $req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
    // Récupération des commentaires
    $req $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
    $req->execute(array($_GET['billet']));
    while ($donnees $req->fetch())
    {
    ?>
    <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
    <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p>
    <?php
    // Fin de la boucle des commentaires
    $req->closeCursor();
    }
    catch(Exception $e)
    {
    die('Erreur : '.$e->getMessage());
    }
    ?>
    <form action="traitement.php" method="POST">
    Pseudo : <input type="text" name="auteur" placeholder="pseudonyme"></input><br /><br />
    Commentaire : <br /><textarea name="commentaire" rows="8" cols="45" placeholder="mon commentaire"></textarea><br />
    <input type="submit" value="envoyer le commentaire"></input>
    </form>
    </body>
    </html>

    -
    Edité par Dolf 1 juillet 2020 à 17:56:51

    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2020 à 19:35:43

      Slt, code iilisible, utilise la balise code!
      • Partager sur Facebook
      • Partager sur Twitter
        2 juillet 2020 à 16:21:05

        <?php
        // Connexion à la base de données
        try
        {
            $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host=localhost;dbname=biosechat', 'root', '', $pdo_options);
            // Récupération du billet
            $req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id = ?');
            $req->execute(array($_GET['billet']));
            $donnees = $req->fetch();
            ?>
            <div class="news">
                <h3>
                    <?php echo htmlspecialchars($donnees['titre']); ?>
                    <em>le <?php echo $donnees['date_creation_fr']; ?></em>
                </h3>
                <p>
                <?php
                echo nl2br(htmlspecialchars($donnees['contenu']));
                ?>
                </p>
            </div>
            <h2>Commentaires</h2>
            <?php
            $req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
            // Récupération des commentaires
            $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
            $req->execute(array($_GET['billet']));
            while ($donnees = $req->fetch())
            {
            ?>
            <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
            <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p>
            <?php
            } // Fin de la boucle des commentaires
            $req->closeCursor();
        }
        catch(Exception $e)
        {
            die('Erreur : '.$e->getMessage());
        }
        ?>
        <form action="traite.php" method="POST">
        Pseudo : <input type="text" name="auteur" placeholder="pseudonyme"></input><br /><br />
        Commentaire : <br /><textarea name="commentaire" rows="8" cols="45" placeholder="mon commentaire"></textarea><br />
        <input type="submit" value="envoyer le commentaire"></input>
        </form>
        </code>
        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2020 à 16:29:59

          <?php
          // Connexion à la base de données
          try
          {
              $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
              $bdd = new PDO('mysql:host=localhost;dbname=biosechat', 'root', '', $pdo_options);
              // Récupération du billet
              $req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id = ?');
              $req->execute(array($_GET['billet']));
              $donnees = $req->fetch();
              ?>
              <div class="news">
                  <h3>
                      <?php echo htmlspecialchars($donnees['titre']); ?>
                      <em>le <?php echo $donnees['date_creation_fr']; ?></em>
                  </h3>
                  <p>
                  <?php
                  echo nl2br(htmlspecialchars($donnees['contenu']));
                  ?>
                  </p>
              </div>
              <h2>Commentaires</h2>
              <?php
              $req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
              // Récupération des commentaires
              $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
              $req->execute(array($_GET['billet']));
              while ($donnees = $req->fetch())
              {
              ?>
              <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
              <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p>
              <?php
              } // Fin de la boucle des commentaires
              $req->closeCursor();
          }
          catch(Exception $e)
          {
              die('Erreur : '.$e->getMessage());
          }
          ?>
          <form action="traite.php" method="POST">
          Pseudo : <input type="text" name="auteur" placeholder="pseudonyme"></input><br /><br />
          Commentaire : <br /><textarea name="commentaire" rows="8" cols="45" placeholder="mon commentaire"></textarea><br />
          <input type="submit" value="envoyer le commentaire"></input>
          </form>
          </code>
          • Partager sur Facebook
          • Partager sur Twitter
            2 juillet 2020 à 16:32:42

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                <head>
                    <title>Mon blog</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                    <link href="style.css" rel="stylesheet" type="text/css" />
                </head>
                <body>
                <code>
                    <h1>Mon super blog !</h1>
                    <p><a href="Blog_me.php">Retour à la liste des billets</a></p>
            <?php
                    // Connexion à la base de données
            try
            {
                $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
                $bdd = new PDO('mysql:host=localhost;dbname=biosechat', 'root', '', $pdo_options);
                // Récupération du billet
                $req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id = ?');
                $req->execute(array($_GET['billet']));
                $donnees = $req->fetch();
                ?>
                <div class="news">
                    <h3>
                        <?php echo htmlspecialchars($donnees['titre']); ?>
                        <em>le <?php echo $donnees['date_creation_fr']; ?></em>
                    </h3>
                    <p>
                    <?php
                    echo nl2br(htmlspecialchars($donnees['contenu']));
                    ?>
                    </p>
                </div>
                <h2>Commentaires</h2>
                <?php
                $req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
                // Récupération des commentaires
                $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
                $req->execute(array($_GET['billet']));
                while ($donnees = $req->fetch())
                {
                ?>
                <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
                <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p>
                <?php
                } // Fin de la boucle des commentaires
                $req->closeCursor();
            }
            catch(Exception $e)
            {
                die('Erreur : '.$e->getMessage());
            }
            ?>
            <form action="traite.php" method="POST">
            Pseudo : <input type="text" name="auteur" placeholder="pseudonyme"></input><br /><br />
            Commentaire : <br /><textarea name="commentaire" rows="8" cols="45" placeholder="mon commentaire"></textarea><br />
            <input type="submit" value="envoyer le commentaire"></input>
            </form>
            </code>
            </body>
            </html>
            • Partager sur Facebook
            • Partager sur Twitter
              2 juillet 2020 à 16:57:46

              Bonjour avec le bouton code </> c'est beaucoup mieux

              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                  <head>
                      <title>Mon blog</title>
                      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                      <link href="style.css" rel="stylesheet" type="text/css" />
                  </head>
                  <body>
                  <code>
                      <h1>Mon super blog !</h1>
                      <p><a href="Blog_me.php">Retour à la liste des billets</a></p>
              <?php
                      // Connexion à la base de données
              try
              {
                  $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
                  $bdd = new PDO('mysql:host=localhost;dbname=biosechat', 'root', '', $pdo_options);
                  // Récupération du billet
                  $req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets WHERE id = ?');
                  $req->execute(array($_GET['billet']));
                  $donnees = $req->fetch();
                  ?>
                  <div class="news">
                      <h3>
                          <?php echo htmlspecialchars($donnees['titre']); ?>
                          <em>le <?php echo $donnees['date_creation_fr']; ?></em>
                      </h3>
                      <p>
                      <?php
                      echo nl2br(htmlspecialchars($donnees['contenu']));
                      ?>
                      </p>
                  </div>
                  <h2>Commentaires</h2>
                  <?php
                  $req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
                  // Récupération des commentaires
                  $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ? ORDER BY date_commentaire');
                  $req->execute(array($_GET['billet']));
                  while ($donnees = $req->fetch())
                  {
                  ?>
                  <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
                  <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p>
                  <?php
                  } // Fin de la boucle des commentaires
                  $req->closeCursor();
              }
              catch(Exception $e)
              {
                  die('Erreur : '.$e->getMessage());
              }
              ?>
              <form action="traite.php" method="POST">
              Pseudo : <input type="text" name="auteur" placeholder="pseudonyme"></input><br /><br />
              Commentaire : <br /><textarea name="commentaire" rows="8" cols="45" placeholder="mon commentaire"></textarea><br />
              <input type="submit" value="envoyer le commentaire"></input>
              </form>
              </code>
              </body>
              </html>



              • Partager sur Facebook
              • Partager sur Twitter

              arf !!!

              Récupérer des commentaires dans un blog

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown