Section commentaire

Résolu
Bonjour,

J'ai regardé pas mal de tutos sur le web plus ou moins vieux et quelque vidéo également.

Mais je n'arrive pas à faire une section commentaire. Genre une personne lambdha peut laisser des commentaires, un livre d'or en faite.

Je n'arrive pas à faire la base de données avec mysql. Et la je suis perdu. Je vous demande à vous, sinon je continuerai à tester et retester.

En vous remerciant d'avance les ccmien(ne)s.

Amicalement



--
Au plaisir. Je me répéte mais :<<Google is your friend>>.....  Moi sur google c'est << nalpha 54 >> ;-). précisez les questions nous ne sommes pas devin.
N'oubliez pas de mettre en résolu les sujets.

4 réponses

  1. Toujours pas de solution, mais je mets en résolu.

    Merci à tous.
    0
    1. 0
      1. Merci je regarde ça dans la semaine :)
        0
      2. @nocram18Ce qu'il propose ne fonctionne pas, de plus eux ils sont une page de news et moi je veux juste les commentaires mais malgré cela ça ne fonctionne pas.
        0
      3. @nocram18Re,

        une erreur ? A quel niveau ?

        A+
        0
      4. @Utilisateur anonymeRe,

        Au niveau des news. Enfaite eux ils mettent des news ou articles .. et je commence à confondre les lignes de codes. alors je repars sur une programmation. Je recommence tous. Des que j'avance un peu plus je vous tient au courant.

        Merci de ton aide. La base de donnée je la laisse comme la photo plus haut et maintenant je vais essayer de tout connecter à celle-ci.
        0
      5. Bonjour,

        Bon me revoila. Je n'arrive pas à connecter les lignes de commandes de la page principale à la base données.

        En gros j'ai une page commentaire en .php et une base de données. Il me faut rien d'autre ?

        J'ai réussi à connecter la base de données. Mais apres je sais pas quoi mettre pour lui dire affiche ce commentaire de telle table, le nom de l'auteur, la date ... .

        Amicalement
        0
    2. Bonjour HDU,

      Merci de ta réponse.

      Je n'ai pas encore mis la date car je voulais commencer par simple et c'est déjà laborieux. Je pensais que MySql serait plus simple ... ;) .

      
      <meta charset="utf-8" />
      <?php
      $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_commentaires;charset=utf8','root','');
      
      if(isset($_GET['id']) AND !empty($_GET['id'])) {
      $getid = htmlspecialchars($_GET['id']);
      if(isset($_POST['submit_commentaire'])) {
      if(isset($_POST['pseudo'],$_POST['commentaire']) AND !empty($_POST['pseudo']) AND !empty($_POST['commentaire'])) {
      
      $pseudo = htmlspecialchars($_POST['pseudo']);
      $commentaire = htmlspecialchars($_POST['commentaire']);
      if(strlen($pseudo) < 25) {
      $ins = $bdd->prepare('INSERT INTO commentaires (pseudo, commentaire, id_article) VALUES (?,?,?)');
      
      $ins->execute(array($pseudo,$commentaire,$getid));
      $c_msg = "<span style='color:green'>Votre commentaire a bien été posté</span>";
      } else {
      $c_msg = "Erreur: Le pseudo doit faire moins de 25 caractères";
      }
      } else {
      $c_msg = "Erreur: Tous les champs doivent être complétés";
      }
      }
      $commentaires = $bdd->prepare('SELECT * FROM commentaires WHERE id_article = ? ORDER BY id DESC');
      $commentaires->execute(array($getid));
      ?>
      
      <br />
      <h2>Commentaires:</h2>
      <form method="POST">
      <input type="text" name="pseudo" placeholder="Votre pseudo" /><br />
      <textarea name="commentaire" placeholder="Votre commentaire..."></textarea><br />
      <input type="submit" value="Poster mon commentaire" name="submit_commentaire" />
      </form>
      
      <?php if(isset($c_msg)) { echo $c_msg; } ?>
      <br /><br />
      <?php while($c = $commentaires->fetch()) { ?>
         <b><?= $c['pseudo'] ?>:</b> <?= $c['commentaire'] ?><br />
      <?php } ?>
      <?php
      }
      ?>
      
      
      0
      1. Bonjour nocram18

        Dans le form il ne faut pas oublier de préciser où tu envoies les données (page en php ou html)
        Pour cela, il faut ajouter ce bout de code
        action="resultat.html"


        <ton code serait <form method="POST" >action="resultat.html" >

        Pour récupérer les variables, il faut utiliser dans la page resultat.html
        <?php
        if(isset($_REQUEST["pseudo" 	])) {$pseudo= $_REQUEST["pseudo"  	];}
        else{$pseudo    		= "";}
        ?>	
        0
      2. @DelNCBonsoir,

        Ah la je commence à être perdu. Je dois refaire une autre page à coté. En gros j'ai une page commentaire.php, une autre resultat.html et dans celle ci il doit avoir les connexion vers la base de données MySql ?

        Pas simple quand on ne sais pas. L'interface graphique je peux la programmer derrière mais c'est la connexion à la base de donnée, les requêtes .. qui ne sont pas simple.
        0
      3. @nocram18Bonjour

        pour la connexion voilà comment tu peux faire
        Il faut mettre ce code
        <?php
         $BDD_ADRESSE  = "mysql:host=127.0.0.1";
         $BDD_DBNAME   = "ta_base_de_donnees";
         $BDD_LOGIN    = "root";
         $BDD_PASSWORD = "";
        
         // connexion à la base de données
         try {
          $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
            } catch(Exception $e) {
                exit('Impossible de se connecter à la base de données.');
            }
        
            // exécution de la requête
            $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
        ?>
        0
      4. Merci je regarde ça dans la semaine :D
        0
      5. Bon j'ai regardé mais cela ne fonctionne pas j'ai des erreurs qui apparaisent
        0
    3. Bonjour

      Voilà un exemple de comment tu peux faire si les utilisateurs ne se loguent pas sur le site

      table commentaires
      id_commentaire
      login
      commentaire
      date
      0
      1. Yo DeINC,

        Merci de ta réponse.

        Pendant ce temps j'ai ça => photo

        Mais je pense que je n'arrive pas à le relier avec la bdd et la pgae php.
        0
      2. @nocram18Bonjour,

        il te manque la date déjà...

        Ta base semble ok, mais donnes ici le code php qui "attaque" cette base...

        A+
        0