begin process at 2012 05 27 20:30:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaires

 > LE SYSTÈME DES COMMENTAIRES AVEC MODÉRATION DE L'ADMINISTRATEUR

LE SYSTÈME DES COMMENTAIRES AVEC MODÉRATION DE L'ADMINISTRATEUR


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaires Classé sous :formulaire, commentaires, moderateur-commentaires, formulaire-commentaire Niveau :Débutant Date de création :15/10/2010 Date de mise à jour :09/12/2010 12:07:16 Vu / téléchargé :3 968 / 485

Auteur : pitchoubrazil

Ecrire un message privé
Commentaire sur cette source (34)
Ajouter un commentaire et/ou une note

 Description

J'ai developpé un système de commentaire avec l'espace administratif où tout commentaire posté sera mis en attente. Il ne sera publié qu'après l'approbation de l'administrateur ou moderateur du site.
Comme vous pouvez le remarquer notre système aura une page pour poster les commentaires (single.php)et une deuxième page pour l'administrateur ou le moderateur de commentaires(moderar.php).
Nous avons prevus une troisième page qui contient de liens vers la page single.php.
Tout commentaire posté sera enregistre dans une base de donnée en cela nous avons crée deux tables c_posts et c_comments.




 Conclusion

je suis disposé à recevoir tous vos commentaires

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

17 octobre 2010 15:02:17 :
Le système a été modifié par la correction des petites erreurs ainsi que l'ajout de "mysql_real_escape_string"
09 décembre 2010 03:04:20 :
je viens de corriger les bug ainsi qu' ajouter l'authentification pour la partie administration et moderation des commentaires. Tout cela m'a demandé d'ajouter une table "user" dans ma base des données avec deux champs : email et pass.
09 décembre 2010 12:07:17 :
Correction dans la partie administration des commentaires.

 Sources du même auteur

Source avec Zip CHAT EN PHP ET JQUERY

 Sources de la même categorie

Source avec Zip Source avec une capture VALIDATEUR DE FORMULAIRE par Reldan
Source avec Zip SUIVI SERVICE CLIENT PHP par hige52
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
Source avec Zip Source avec une capture SELECTEUR DE NOTE par Reldan
Source avec Zip Source avec une capture ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQL par sartoz

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture VALIDATEUR DE FORMULAIRE par Reldan
Source avec Zip FORMULAIRE D'INSCRIPTION par lelioua
Source avec Zip SUIVI SERVICE CLIENT PHP par hige52
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
Source avec Zip Source avec une capture SELECTEUR DE NOTE par Reldan

Commentaires et avis

Commentaire de cod57 le 15/10/2010 09:11:10

Salut
Je trouve pas de mysql_close() ?
mysql_real_string_escape() sur les variables à insérer ... (j'ai vu le striptags())
Sinon le script est simple et bien, il va à l'essentiel
merci

Commentaire de neigedhiver le 16/10/2010 02:26:35

Je cite :
"L'utilisation de mysql_close() n'est pas habituellement nécessaire, puisque les connexions non persistantes ouverts sont automatiquement fermées à la fin l'exécution du script"
Source : php.net/mysql_close

Bon mais sinon, c'est pas exactement ce qu'on peut appeler un code de qualité :
- pas de protection des données insérées (la fonction stripp_tags n'a JAMAIS été et ne sera jamais une fonction de protection
- du php en vrac n'importe comment au milieu du html
- gestion des erreurs SQL plus que médiocre qui tend sur le néant (utilisation de l'opérateur de suppression d'erreur @)
- certaines lignes de code sont purement et simplement ARCHI FAUSSES, par exemple, mais pas uniquement :
      # if(@mysql_num_rows($link=='0')){
      # echo"Il n'existent pas des commentaires pour ce moment";
      # }
- je n'ai pas vu de système d'authentification pour la partie modération
- tout ça, c'est très difficilement intégrable dans un site sans tout réécrire

Bref...

Ah ! Si je dis pas ce qu'il faut faire pour améliorer la source, je vais encore me faire engueuler.
1. Apprendre le PHP : la syntaxe doit être un minimum rigoureuse, les fantaisies ne fonctionnent pas mieux quand elles sont cachées avec un @
2. Continuer d'apprendre le PHP, notamment la déclaration d'une chaîne de caractères et la manière dont les variables y sont interprétées, notamment les tableaux associatifs
3. Se renseigner sur l'injection SQL
4. Gérer les erreurs
5. Séparer un peu le HTML du PHP et proposer un code qui soi FACILEMENT intégrable
6. Dans la famille sécurité, je demande l'authentification

Bonne continuation.

Commentaire de cod57 le 16/10/2010 14:43:02

Salut  neigedhiver

1/ La fonction c'est pas "stripp_tag" mais strip_tags dixit
(faut pas t'énerver quand tu écris)

2/ Contre une injection xss c'est déja ça
le manuel ...
strip_tags() tente de retourner la chaîne str après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code. Elle génère des alertes si les balises sont incomplètes ou erronées. Elle utilise le même moteur de recherche que fgetss().

3/Avec un mysql_real_escape_string() (CONNECTION ACTIVE) sur les variables à insérer ça suffit, faut pas devenir parann !

4/@ sert aussi à cacher aux hackers les erreurs !

5/C'EST PAS UN CODE POUR LA NASA

Commentaire de neigedhiver le 16/10/2010 16:53:28

Oh pardon, j'ai fait une faute de frappe, c'est impardonnable.

@ sert surtout à masquer l'incompétence ou la fainéantise de certains développeurs qui ne veulent pas / savent pas gérer les erreurs.

strip_tags ne protège pas contre les injections SQL. Un point c'est tout.

Et y'a pas que la NASA qui a le droit d'avoir un site sécurisé et du code de qualité. C'est pas avec ce genre de raisonnement qu'on progresse.
Putain mais même quand je donne des éléments pour améliorer, y'en a qui viennent me faire chier avec des détails de merde et des arguments à la con.

Désolé d'être grossier, mais ça devient vraiment pénible !

Commentaire de cod57 le 16/10/2010 17:56:56

@neige d'hiver "Détails de merde ";c'est toi qui pinaille tout le temps faut te relire !

// ne pas écrire vos $_POST , $_GET directement dans votre 'query' je propose :

// si le serveur accessible , sinon mysql_real_string_escape() marche pas ...


$ma_var_a_inserer = sanitise($_POST['ma_var_postee']);

// fonction à mettre en haut de page

function sanitise($string){
  $string = strip_tags($string); // anti xss injection
  $string = htmlspecialchars($string); //
  $string = trim(rtrim(ltrim($string))); // pas tjs utile
  $string = mysql_real_escape_string($string); // anti mysql injection
  return $string;
}



Commentaire de GREGGRAPH le 18/10/2010 01:14:03

Bonjour,

Juste une petite question.
Y a t'il un moyen pour utiliser ce système dans différentes pages? je m'explique, j'ai un site avec une centaine d'article ou page comme on veut.
J'aimerai mettre un système de commentaire par page pour quel les internautes puissent discuter sur le sujet. C'est une idée ancienne mais je n'ai jamais touvé de code que je pouvais inclure à mon site.

Merci d'avance pour la réponse,
Greg

Commentaire de pitchoubrazil le 18/10/2010 03:34:46

@GREGGRAPH Bonjour, bien sûr ce systèment peut être utilisé dans différentes pages.
- Insère dans la table c_posts au champ titre et une petite description de ta page(optionnel)au champ texte

-Met la ligne suivante
<a href="single.php?post=<?php echo $post_id;?>"><?php echo $titre;?></a>
dans les pages qui seront commentées.
je pense que je viens de repondre à ta question. En cas de difficulté je suis là!

Commentaire de Nort0n le 18/10/2010 19:51:32

Vu les réactions, je vais en prendre pour mon grade, mais ainsi soit il ...

Je suis plutôt d'accord avec Neige d'hiver :

Relativement mal codé, incomplet, pas mal d'erreur, une flemme certaine de gérer les erreurs SQL et un code bordelique ...


Juste une question : En quoi ce code est réutilisable ?



PS : Je ne fourni aucune idée d'amélioration, étant donné que, même quand on le fait, on prend quand même =)

Commentaire de GREGGRAPH le 19/10/2010 00:18:22

Holla Norton !

Quand tu dis "PS : Je ne fourni aucune idée d'amélioration, étant donné que, même quand on le fait, on prend quand même =)"

C'est faux, la remarque et l'évolution apporté par COD57 a été ajouté ;)
Alors c'est quoi tes évolutions par rapport à tes remarques ;) Alors !

Commentaire de Nort0n le 19/10/2010 12:51:09

Celle de COD57 peut-être, mais les autres non.

- Comme la gestion des erreurs qui est absente;
- Aucune identification de l'espace admin;
- etc ...


Bref, pas mal de choses ont déjà été dites, et une seule a été appliquée, alors ne dit pas que nos remarques sont prises en compte ...

Commentaire de GREGGRAPH le 19/10/2010 23:56:40

Bah ! OK!

J'ai rien dit alors ;)

Greg

Commentaire de pitchoubrazil le 20/10/2010 00:42:15

@Nort0n bonjour;
Ici il ne faut faire le fanatisme, pose clairement ta question et sera repondue dans la mesure du possible. neigedhiver a fait des remarques dont certaines étaient fondée et d'autres pas du tout en mon humble avis. Je suis conscient que je n'ai inclu l'authentification de la partie administrative. Ça tout programmeur qui veut utiliser ce code peut inclure sans problème et surtout qu'il y a pas mal de codes dans site traitant le sujet de l'authentification. Etc ne va pas monsieur , il faut donner en detailler les failles que t'a trouvé dans ce système pour me permettre de l'ameliorer davantage mais non se limiter en disant pas mal de chose, etc.

Commentaire de Nort0n le 20/10/2010 17:12:27

"il faut donner en detailler les failles que t'a trouvé dans ce système pour me permettre de l'ameliorer davantage mais non se limiter en disant pas mal de chose"

T'as conscience qu'en disant pas mal de choses on te donne aussi les failles et les explications.
Seulement on te les donne une fois et tu n'en prends ps compten et en plus Neige se fait à moitié envoyer chier parce qu'il explique (cf "ces détails de merde ...").


Et bon, je ne vais pas non plus réécrire ton code en te disant "il faut faire comme ça". On te donne les points de départ, à toi de faire le chemin jusqu'à l'arrivée ...

Pour conclure, je n'insiste pas vu que la mauvaise foi règne en maître.

Commentaire de GREGGRAPH le 25/10/2010 02:23:34

Bonjour,

j'ai essayé de mettre le système de commenatire sur une des pages, mais ça n'a pas l'air de fonctionner;
sur single;php j'ai ça qui s'affiche:    
Il n'existent pas des commentaires pour le moment
Unknown column 'date' in 'field list'

J'ai bien insére la ligne : <a href="single.php?post=<?php echo $post_id;?>"><?php echo $titre;?></a>
ça me mets la liste des pages mais pas le formulaire de commentaire ?

Je pense que j'ai dut faireune erreur quelque part :(
un eptit coup de main serait sympa;

Commentaire de pitchoubrazil le 25/10/2010 16:13:09

bonjour GREGGRAPH,
pour corriger ceci:
Unknown column 'date' in 'field list'
regarde à la table c_comments il y a petite erreur qui s'est glissée au lieu "date" j'ai dû écrire "data".
Change cela et tout fonctionnera normalement.
En cas de probleme je suis à votre disposition.

Commentaire de GREGGRAPH le 25/10/2010 22:01:58

merci Pitchoubrazil, j'ai corrigé.
C'est réglé mais j'ai encore un souci. Apparemment le commentaire ne s'enregistre pas dans la bdd et je n'ai pas d'erreur qui s'affiche :(

Commentaire de pitchoubrazil le 26/10/2010 07:18:54

salut GREGGRAPH, le commentaire est enregistré dans le bdd.

Commentaire de GREGGRAPH le 26/10/2010 09:08:07

Non

Commentaire de pitchoubrazil le 26/10/2010 14:52:09

bonjour GREGGRAPH, une petite question est ce que tu arrive à approuvé ou excluir un commentaire ?

Commentaire de GREGGRAPH le 26/10/2010 21:41:31

Je ne sais pas vu qu'il n'y en a aucun qui peut s'enregistrer.
Je remplis bien le formulaire, mais lorsque j'envos mon commentaire, rien ne se passe :(
Et rien non plus ne s'écrit dans la bdd :(
il doit y avoir un pb de liaison entre les 2 mais il n'y a pas de message d'erreur.

Commentaire de pitchoubrazil le 26/10/2010 22:36:12

normalement ça devrait affiche un message. Bon ok je vais analyser toutes les possiblilités et je te repond.

Commentaire de pitchoubrazil le 26/10/2010 23:02:52

regarde à la 30ème ligne dans la page single il y a une virgule normalement le texte est à la fin tu enlève cela et dans la table c_comments au dernier enregistrement il y a comentaire remplace par commentaire
car la variable commentaire a deux 'm'. ok

Commentaire de GREGGRAPH le 27/10/2010 00:41:21

Il y a un progres, j'ai rempli le formulaire, puis envoyez le commentaire et j'ai ça comme réponse:
Erreur dans la tentative d'enregistrer le commentaire , Merci d'essayer une nouvelle fois.

En revanche le commentaire est bien enregistré dans la table de la bdd;
il est bien dans le système de modération. le tout fonctionne bien.
Il y a juste ce message d'erreur.

Autre chose si on rafraichi la page avec le formulaire, le commentaire est renvoyé à nouveau, y a t'il un moyen pour effacer le contenu du formulaire lorsque le commentaire est envoyé?

Commentaire de GREGGRAPH le 27/10/2010 00:51:35

J'avais oublié, dans la partie modération, après avoir approuvé le commentaire, il ne se met pas dans la partie Commentaires approuvés

Commentaire de wizardblack le 06/12/2010 11:59:41

Bonjour,
j'ai un message d'erreur, quelqu'un pourrais d'aider?
voici l'erreur:

    *
      page 1

      ces commentaires concernent les news du site


Notice: Undefined index: nom in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 55

Notice: Undefined index: email in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 56

Notice: Undefined index: site in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 57

Notice: Undefined index: commentaire in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 58

Notice: Use of undefined constant ok - assumed 'ok' in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 61

      Unknown column 'date' in 'field list'



d'avance merci

Commentaire de pitchoubrazil le 09/12/2010 03:06:17

wizardblack , je viens faire quelques modifications tu peux telecharger , tout fonctionnement bien chez moi.

Commentaire de wizardblack le 09/12/2010 09:41:54

Merci pitchou, mais j'ai encore des erreurs.
Voici le code :

    *
      page 1

      ces commentaires concernent les news du site


Notice: Undefined index: nom in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 55

Notice: Undefined index: email in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 56

Notice: Undefined index: site in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 57

Notice: Undefined index: commentaire in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 58

    *
      toto dit le :
      Notice: A non well formed numeric value encountered in C:\wamp\www\commentaires_avec_moderation_de_l'administrateur_du_site\single.php on line 129
      01/01/1970 00:01

      commentaire 1


Commentaire de wizardblack le 09/12/2010 09:44:22

J'ai peut être pas récupéré les bons fichiers.

Commentaire de pitchoubrazil le 09/12/2010 11:44:17

wizardblack, je viens de telecharger le même que j'ai posté sans fonctionnement très bien , il faut verifier chez toi si t'as fait quelques ajouts. Tu peux avoir omis une virgule quelque part ou ajouté.

Commentaire de wizardblack le 09/12/2010 12:12:58

A quoi sert le répertoire Nova pasta ?  

Commentaire de pitchoubrazil le 09/12/2010 12:24:38

Ça ne sert à rien , je viens de le supprimer.

Commentaire de wizardblack le 09/12/2010 14:13:47

merci, je vais encore essayer avec mon minuscule connaissance en php de résoudre l'erreur.

Commentaire de jadu le 31/12/2010 13:26:57

Bon, comme quoi, quand NEIGEDHIVER disait qu'il fallait tout refaire .... il avait raison ! ;-)

Wizardblack, je te conseille de voir directement dans la doc PHP comment reconstruire ce qu'a proposé Pitchoubrazil.
Son idée t'as plu ? Essayes de trouver les bonnes pistes toi-même maintenant ! Tu verras c'est intéressant de bien comprendre ce que l'on place sur son site !
Pour la maintenance, tu te souviendras de quoi tu as réellement besoin si tu l'as bâti toi tout seul !

Bonne prog et bonne année 2011 ![img]http://emoticon.gregland.net/emoticon/Anniversaire/Anniversaire_16.gif[/img]

Commentaire de sunnely le 26/04/2011 18:29:25 10/10

merci pour ce script, j avais ecrit un systeme simple de commentaire avec un update table-set et delete table-set mais je galerai a trouver un systeme  pour mettre en attente les commentaires, ton script est nikel , je vois pas pourquoi certains geulent qd les choses fonctionnent!merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

formulaire mail [ par arnaud ] quand je recoit un formulaire mail je trouve le fichier postdata.att ... comment fair pour l'avoir sans les 20% et les "+"merciarnaud php et html [ par Vinz ] Salut,Voila, j'utilise un formulaire qui me lance un php. Dans ce formulaire j'ai un &lt;input type=file name='monFile'&gt;.Mon probleme c'est que j'a Formulaire PHP3 + PJ [ par Jiboule ] Salut à tous ! Quelqu'un peut-il me sauver ? J'ai fait un formulaire en HTML avec une dizaine de champs + la possibilité de joindre un fichier. Je ne Formulaire PHP3 + PJ [ par Jiboule ] Salut à tous ! Quelqu'un peut-il me sauver ? J'ai fait un formulaire en HTML avec une dizaine de champs + la possibilité de joindre un fichier. Je ne code simple pour formulaire [ par bernard ] bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit Formulaire + fichier externe [ par koko ] J'ai un petit formulaire avec 2 text (&lt;INPUT TYPE="text") et un button. Quand je clique sur le button, il doit mettre les 2 text dans un fichier ex Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, Formulaire [ par benett ] Bonjour à tous,J'ai une petite question :Dans un formulaire, certaine valeurs s'obtiennent par recopie et proviennent d'une autre page,comment peut-on Formulaire [ par benett ] Bonjour à tous,J'ai une petite question :Dans un formulaire, certaine valeurs s'obtiennent par recopie et proviennent d'une autre page,comment peut-on


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales