Zone commentaire urgent

Fermé
antho2belco Messages postés 24 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 29 août 2012 - Modifié par antho2belco le 21/04/2012 à 20:50
antho2belco Messages postés 24 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 29 août 2012 - 22 avril 2012 à 20:47
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

ludo1325 Messages postés 149 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 23 juin 2015 33
22 avril 2012 à 00:25
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
antho2belco Messages postés 24 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 29 août 2012
22 avril 2012 à 20:47
Merci beaucoup ! et tous sa je dois la mettre dans une page html ?
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
22 avril 2012 à 00:08
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
Utilisateur anonyme
22 avril 2012 à 00:21
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