Scrript commentaire

Résolu
Bonjour,

Je suis en train de faire un script commentaire, mais je n'arrive pas a afficher les commentaires quand je les envois, pourtant il sont bien dans la base de données.

post.php

<?php
if(isset($_POST['pseudo'])) {

if(empty($_POST['pseudo'])) {

echo "<span style='color:red;'>Veuillez svp saisir votre pseudo</span>";

} elseif(empty($_POST['com'])) {

echo "<span style='color:red;'>Veuillez svp saisir un commentaire</span>";

} else {
//on récupère le pseudo et le commentaire
$commentaire = htmlentities($_POST['com']);
$pseudo = htmlentities($_POST['pseudo']);

//on se connecte a la bdd
mysql_connect("localhost", "root", "");

//on choisit la base de donnée
mysql_select_db("commentaire");

//on ajoute le pseudo et le commentaire dans la table commentaire
mysql_query("INSERT INTO filiformis(pseudo, commentaire) VALUES('$pseudo', '$commentaire')");

//on se déconnecte de mysql
mysql_close();
}
} else {
?>

<html>
<head>
<title>Voir les commentaires</title>
</head>
<body>
<h2>Poster un commentaire:</h2>
<form action="post.php" method="post">
Pseudo: <input type="text" name="pseudo" />
<br />
Commentaire: <textarea style="width:300px;height:150px;" name="com"></textarea>
<br />
<input type="submit" value="Poster le commentaire" />
</form>
<?php
}
?>
</body>
</html>

afich.php
<html>
<head>
<title>Voir les commentaires</title>
</head>
<body>
<?php
//on se connecte a la bdd
mysql_connect("localhost", "root", "");

//on choisit la bdd
mysql_select_db("commentaire");

//on récupère tte la table commentaire et on la met dans une variable $affich
$affich = mysql_query("SELECT * FROM filiformis");

//on liste la table
while($affich = mysql_fetch_array($affich)) {

echo "Pseudo: ".$affich['pseudo']."
<br />
Commentaire: ".$affich['commentaire']."
<hr />";

}
//on se déconnecte de la bdd
mysql_close();
?>
</body>
</html>

Merci

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Comme je suis dans localhost j'ai mit :

    //on se connecte a la bdd
    mysql_connect("localhost", "root", "");

    //on choisit la base de donnée
    mysql_select_db("commentaire");
    1. t'as changer les info ici ?

      //on se connecte a la bdd 
      mysql_connect("localhost", "root", ""); 
      
      //on choisit la base de donnée 
      mysql_select_db("commentaire");  
      


      dans le genre
      //on se connecte a la bdd 
      mysql_connect("MonSite.com", "Admin", "adminpass"); 
      
      //on choisit la base de donnée 
      mysql_select_db("Nom_de_la_base-de-Donnees");  
      


      __
      _/ \_____________________
      \__/ - diablobros was here -
      1. Sa marche quand je lance post.php mais quand je suis dans localhost sur mon site sa ne marche pas ..
        1. il te manque pas mal de notion avant de te lancer dans des truc comme ca ^^ mais bon alors ...

          en fait c'est assez simple , tu demande a ton script php d'écrire chaque des ligne du tableau les une derriere les autres, en utilisant un while (une boucle) il suffit d'insérré dans cette boucle par exemple un paragraphe <p> </p> , dans le echo (ecriture) du php

          donc tu avais :
          echo "Pseudo: ".$affichResult['pseudo']." 
          <br /> 
          Commentaire: ".$affichResult['commentaire']."  
          


          et il va te falloire un truc du genre:

          echo "<p>Pseudo: ".$affich['pseudo']." 
          <br /> 
          Commentaire: ".$affich['commentaire']." 
          </p> <hr />"; 
          
          

          __
          _/ \_____________________
          \__/ - diablobros was here -
          1. Ok merci beaucoup,

            Et pour espacer les different commentaires?
            Parce que sinon sa fait :

            Pseudo:wdf
            Commentaire:sdfsdf
            Pseudo: sdfdf
            etc..

            Sa ne me met pas d'espace entre les 2 commentaires.

            Merci
            1. ben le plus simple , moi je ferai avec le css

              ca c'est le css qui va dans le <head>
              <style type="text/css"> 
              <!-- 
              .bkgGris { background-color:#cccccc} 
              --> 
              </style> 
              


              et pour affiché le style il suffit d'appeellé la classe css en rajoutant la balise : class="bkgGris"
              dans les option des balises html

              ex:

              <form action="post.php" method="post"> 
              Pseudo: <input type="text" name="pseudo" class="bkgGris" /> 
              <br /> 
              Commentaire: <textarea class="bkgGris" style="width:300px;height:150px;" name="com"></textarea> 
              <br /> 
              <input type="submit" value="Poster le commentaire" /> 
              </form> 
              
              


              __
              _/ \_____________________
              \__/ - diablobros was here -
              1. Par contre, comment changer la couleur car sur fond blanc, on ne voit pas ou il faut marquer.

                Merci
                1. je crois que le probleme viens de ton while , tu a 2 fois la variable "affich" une fois en requet et une fois en resultat , ca peu pas marcher.
                  éssai plutot ...

                  //on liste la table
                  while($affichResult = mysql_fetch_array($affich)) {

                  echo "Pseudo: ".$affichResult['pseudo']."
                  <br />
                  Commentaire: ".$affichResult['commentaire']."

                  __
                  _/ \_____________________
                  \__/ - diablobros was here -