[PHP]Script de commentaire

Bonjour, voila je suis débutant en php et j'ai fait un script pour pouvoir mettre des commentaires sur des photos, mais je n'arrive pas a le faire marcher alors voila mes codes :
La page 'post.php' qui récupère les données dans le formulaire et qui les enregistre dans ma bdd
<? 
//on recupere le pseudo et le commentaire
$commentaire=$_POST['com'];
$pseudo=$_PSEUDO['pseudo'];

//on se connecte a la bdd

mysql_connect("localhost", "pseudo", "motdepasse");

//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 commetaire VALUES(' ','$pseudo', '$commentaire')");

//on se deconecte de mysql
mysql_close( );
?>


Et la page 'afich.php' qui récupère les donées dans la bdd et qui les affiches
<html><head><title>Voir les commentaires</title>
</head>
<body>
<?
//on se connecte a la bdd
mysql_connect("localhost", "pseudo", "motdepasse");

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

//on récupere tte la table commentaire et on la met dans une variable $affich
$affich = mysql_query("SELECT * FROMcommentaire");

//on liste la table
while ($affich = mysql_fetch_array($affich) )
{
?>
Pseudo : <? echo $affich['pseudo']; ?><br>
Commentaire : <? echo $affich['commentaire']; ?>
<?
}
//on se deconecte de la bdd
mysql_close( );
?>
</body>
</html>

Voila si quelqu'un pouvait m'aider.
Merci

15 réponses

  1. Salut,
    si tu as ecrit ton programme comme dans le post tu as marque
    SELECT * FROMcommentaire
    normalement sa doit etre FROM commentaire
    Tchô!!
    1. une faute fatal
  2. Salut,
    T'aider à faire quoi ? Tu ne nous dit pas ce qui ne fonctionnne pas, si tu as des messages d'erreur, et quels sont ils !

    Kalamit,
    4 jours avant le soleil, la mer et les mouettes. :)
    1. voila il suffi de :
      //on choisit la bdd
      mysql_select_db("com");
      enfiaite il faux
      mysql_select_db("comentaire");
  3. Dsl j'ai oublié de vous dire ce qui marchai pas.
    En fait je ne sais pas, il n'y a pas de message d'erreur mais rien ne s'ajoute dans ma bdd
    1. J'ai modifié sa mais sa ne marche toujours pas.
      Je pense que l'erreur es plutot dans la page 'post.php' mais je n'arrive pas a la trouver.
      Merci
      1. mysql_query("INSERT INTO commetaire VALUES(' ','$pseudo', '$commentaire')");

        un commetaire !! c'est pas mieux plutot un commentaire ? ;-)

        Flipody
        1. tu selectionnes commentaire pour l'ajout,
          mysql_select_db("commentaire");
          puis tu sélectionnes com pour l'affichage
          mysql_select_db("com");
          c'est bizarre non ?
          1. Mais en fait les noms de la base de donnée et de la table je les ai changés
            1. Déja y'a un micmac avec tes bases de données. Les scripts que tu nous a présenté ne sont pas coherent pour les raisons citées ci-dessus.
              Ensuite, fais un echo de tes requetes et execute les dans phpmyadmin pour voir quel erreur mysql te retourne.
              A+

              Kalamit,
              4 jours avant le soleil, la mer et les mouettes. :)
              1. Tu dois faire dans ta page post.php kelkechose comme <form method="affich.php">
                1. <form method="affich.php"> ???? <FORM method="POST" action="affich.php"> plutôt ^^
              2. while ($affich = mysql_fetch_array($affich) )
                CHANGE $affich par uen autre variable
                exp: while ($machin = mysql...............)
                echo machin($pseudo);
                1. Ta page post :

                  <? 
                  //on recupere le pseudo et le commentaire
                  $commentaire = $_POST['com'];
                  $pseudo = $_POST['pseudo'];
                  
                  //on se connecte a la bdd
                  $mysql_host = '';
                  $mysql_user = '';
                  $mysql_pass = '';
                  $mysql_bdd = 'commentaire';
                  
                  mysql_connect("$mysql_host", "$mysql_user", "$mysql_pass");
                  
                  //on choisit la base de donnée
                  
                  mysql_select_db("$mysql_bdd");
                  
                  //on ajoute le pseudo et le commentaire dans la table commentaire
                  
                  mysql_query("INSERT INTO commentaire VALUES('','$pseudo', '$commentaire')");
                  
                  //on se deconecte de mysql
                  mysql_close( );
                  ?>


                  Et ta page affich :

                  <html>
                  <head>
                  <title>Voir les commentaires</title>
                  </head>
                  <body>
                  <?
                  //on se connecte a la bdd
                  $mysql_host = '';
                  $mysql_user = '';
                  $mysql_pass = '';
                  $mysql_bdd = 'commentaire';
                  
                  mysql_connect("$mysql_host", "$mysql_user", "$mysql_pass");
                  
                  //on choisit la base de donnée
                  
                  mysql_select_db("$mysql_bdd");
                  
                  //on récupere tte la table commentaire et on la met dans une variable $affich
                  $affich = mysql_query("SELECT * FROM commentaire");
                  
                  //on liste la table
                  while ($affiche = mysql_fetch_array($result) )
                  {
                  ?>
                  Pseudo : <? echo $result['pseudo']; ?><br>
                  Commentaire : <? echo $result['commentaire']; ?><br /><hr />
                  <?
                  }
                  //on se deconecte de la bdd
                  mysql_close( );
                  ?>
                  </body>
                  </html>
                  1. @Bullllet58

                    Bonsoir,
                    Et tu penses que depuis le 22 juin 2004 il a pas résolu ces problèmes de script?????
                    Pffffffffff....
                    --------------------------------------------------------------------------------------------------------------------------------------------------
                    <* Suivez-moi sur FesseS-BouC *>
                    1. C'est un peu le bordel la dedans (en restant polis ^^)

                      mois je propose ceci:

                      Page 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", "pseudo", "motdepasse"); 
                      
                       //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 commentaire(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>


                      Page afich.php:

                      <html> 
                      <head> 
                      <title>Voir les commentaires</title> 
                      </head> 
                      <body> 
                      <?php 
                       //on se connecte a la bdd 
                       mysql_connect("localhost", "pseudo", "motdepasse"); 
                      
                       //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 commentaire"); 
                      
                       //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>


                      Au passage je cherche un système de commentaire, n'existerai pas un genre de "PHPMyComment" à tout hasard svp ?