Zone commentaire urgent

antho2belco Messages postés 40 Statut Membre -  
antho2belco Messages postés 40 Statut Membre -
Bonjour,

Je suis entrain de crée mon site et j'ai regarder sur plusieurs site je ne trouve pas comment mettre une zone commentaire pour les visiteurs sans etre inscrie et pouvoir ; les supprimez par moi meme ; leurs repondre ; et que les visiteurs puisse les enregistrer voila
merci d'avance

3 réponses

  1. ludo1325 Messages postés 175 Statut Membre 33
     
    Salut, j'avais aussi besoin d'un système de commentaire pour mon site web et donc je les fait ce soir.

    Je te partage le code de la base de donné et le php

    Code SQL :
    CREATE TABLE IF NOT EXISTS 'commentaire' (
      'id' int(11) NOT NULL AUTO_INCREMENT,
      'pseudo' varchar(255) NOT NULL,
      'commentaires' text NOT NULL,
      PRIMARY KEY ('id')
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
    


    Code PHP (fichier de configuration (config.php)):
    <?php 
    //Fichier de configuration.
    $host = "localhost"; // Ip(host) de la BDD
    $db = "tuto"; // Nom de la bdd
    $id = "root"; // Identifiant(username)
    $mdp = ""; // Mot de passe (laisser vite s'il n'y en à pas)
    $commentaires = "commentaire"; //Nom be la base de donnés des commentaires
    
    //Connexion à la BDD par PDO:
    try{
            $connect_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host='.$host.';dbname='.$db.'', $id, $mdp, $connect_options);
        }
        catch(Exception $e){
        die('Erreur : '.$e->getMessage());
    }
    ?>
    


    Code PHP (fichier formulaire + Script de traitement (script.php)):
    <?php 
    //Inclusion du fichier de configuration
    include "config.php";
    
    // Traitement de l'envoye des commentaires en BDD
    // On test si les valeur $_POST existe ou non
    if (!isset($_POST)){
        //Si elle n'existe pas(il faudrait supprimer le formulaire (à ne pas faire))
    }else //Sinon si elle existe
    {   //On test si les champs pseudo et commentaire existe
        if(isset($_POST['pseudo']) && empty($_POST['pseudo']) && isset($_POST['commentaires']) && empty($_POST['commentaires'])){
            //Si il sont vide on affiche des erreur (voir le code php formulaire)
            $erreurpseudo = 'votre pseudo n\'est pas valide';
            $erreurcommentaire = 'vous devez remplir ce champs';
        }   //Si c'est juste le pseudo qui n'existe pas on affiche juste l'erreur au pseudo
            elseif(isset($_POST['pseudo']) && empty($_POST['pseudo'])){
            $erreurpseudo = 'votre pseudo n\'est pas valide';
        }
            //Si c'est juste le commentaire qui n'existe pas on affiche l'erreur au commentaire
            elseif(isset($_POST['commentaires']) && empty($_POST['commentaires'])){
                $erreurcommentaire = 'vous devez remplir ce champs';
            } //Si tout les champs son valide, on peut procéder à l'envoi dans la BDD
              elseif(isset($_POST['pseudo']) && !empty($_POST['pseudo']) && isset($_POST['commentaires']) && !empty($_POST['commentaires'])){
                $envoi = $bdd->prepare('INSERT INTO '.$commentaires.'(id,pseudo,commentaires) VALUES(:id, :pseudo, :commentaires)');
                $envoi->execute(array(
                'id' => '',
                'pseudo' => nl2br(htmlspecialchars($_POST['pseudo'])),
                'commentaires' => nl2br(htmlspecialchars($_POST['commentaires'])),      
            ));
                $commentaireenvoyer = 'Votre commentaire à été envoyé';
              }    
    }
        
    
    //Requete SQL pour aller chercher les commentaires dans la BDD
    $req = $bdd->query('SELECT * FROM '.$commentaires.' ORDER BY id DESC');
    
    //Récupération des messages dans la BDD
    while($donnees = $req->fetch()){
        echo '<div id="coms">';
        echo $donnees['pseudo'].'<br />';
        echo $donnees['commentaires'];
        echo '</div>';
    }
    ?>
    <!DOCTYPE html>
    <html>
        <head>       
            <title>Laisser un commentaire</title>
        </head>
        <body>
            <form action="commentaire.php" method="POST">
                <label>Pseudo :</label><input type="text" name="pseudo" id="pseudo"><?php if(isset($erreurpseudo)){ echo $erreurpseudo;} //si le pseudo n'est pas valide ?><br />
                <label>Commentaire :</label> <br /><textarea name="commentaires" id="commentaire"></textarea><?php if(isset($erreurcommentaire)){ echo $erreurcommentaire;} //si le commentaire n'est pas valide ?>
                <input type="submit" value="Envoyé">
            </form>
            <?php //Si le commentaire et envoyer on affiche le message
            if(isset($commentaireenvoyer)){echo $commentaireenvoyer;} ?>
        </body>
    </html>
    
    1
    1. antho2belco Messages postés 40 Statut Membre
       
      Merci beaucoup ! et tous sa je dois la mettre dans une page html ?
      0
  2. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Personnellement je ne vois rien d' urgent.

    Il faut pour installer un systeme de commentaires uen base de donnée via mysql et un petit formulaire que les visiteurs rempliront. En cliquant sur "valider", le formulaire ira envoyer les données dans la base de données, precisement dans la table "commentaires", qu' il suffira d' afficher sur le site avec une boucle php (while).

    Pour administrer son site et entre autres les commentaires, il faut coder tout ca en php au minimum.

    Mais pour ca, il faut apprendre les bases (www.siteduzero.com).

    ++
    0
  3. Utilisateur anonyme
     
    Je souscris complètement au commentaire de mon éminent collègue et je vais le résumer de manière plus lapidaire : R T F M !!!!!!!!

    Y'a un moment, ça devient énervant...
    0