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

  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 -
    1. Par contre, comment changer la couleur car sur fond blanc, on ne voit pas ou il faut marquer.

      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. 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. 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. Sa marche quand je lance post.php mais quand je suis dans localhost sur mon site sa ne marche pas ..
              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. 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");