[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. 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 ?
    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. 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. while ($affich = mysql_fetch_array($affich) )
          CHANGE $affich par uen autre variable
          exp: while ($machin = mysql...............)
          echo machin($pseudo);
          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. 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. Mais en fait les noms de la base de donnée et de la table je les ai changés
              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. mysql_query("INSERT INTO commetaire VALUES(' ','$pseudo', '$commentaire')");

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

                  Flipody
                  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. 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. 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");