Tutoriel Vidéo PHP : Système de commentaire

Dans ce tutoriel vidéo nous verrons comment utiliser une clef secondaire afin de lier deux tables ensembles afin d'ajouter un système de commentaire sur des news en PHP. Si vous souhaitez utiliser ce système pour votre site il est vivement conseillé d'utiliser la fonction htmlentities() sur tous les champs afin d'éviter les failles de sécurités...


Télécharger la vidéo
(Réservé aux premiums)


Après avoir appris sur Internet quoi de plus normal que de partager à son tour ? Passionné par le web depuis un peu plus de 5 ans maintenant j'aime partager mes compétences et mes découvertes avec les personnes qui ont cette même passion pour le web : Vous.

Vous aimerez aussi

Les namespaces

Les namespaces
12m

Dans ce tutoriel vidéo vous apprendrez à utiliser les namespace ou...

API LastFM

API LastFM
35m

Dans ce tutoriel vidéo vous apprendrez comment utiliser l'API de...

104 commentaires
Ajouter un commentaire

Neraveas Il y a 1 jour Répondre

Très bon tuto Grafikart, merci

Iahes Il y a 3 mois Répondre

Vraiment excellent site et super travail un énorme Merci un petit click ads pour t'aider

Nuteylla Il y a 4 mois Répondre

J'ai un problème ! Quand je veux faire ( vers le début ) que quand je clique ça affiche l'article ( donc dans la balise je fais echo "<a href="voir.php?id={$data["id"]}">{$data["titre"]}</a><br />"; ) Mais cela n'affiche pas la news ! il se contente de dire que le lien a été visité !

HassOuna Il y a 5 mois Répondre

Ah ouais ? Enfaite, merci beaucoup! C génial, simple à expliquer et simple a faire Bravooo.

GamiChan Il y a 7 mois Répondre


Notice: Undefined index: id in C:\xampp\htdocs\voir.php on line 7
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 --"
<?php
require "config.php";

mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);

$id=$_GET['id'];
$sql="SELECT * FROM news WHERE id=$id";

$req = mysql_query($sql) or die (mysql_error());
$data = mysql_fetch_assoc($req);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link rel="stylesheet" type="text/css" href="design.css" />
<title>GamiChan-FR</title>
</head>
<body>
<h1><a href="index.php">GamiChan-FR</a></h1><br/><br/>
<?php
while($data=mysql_fetch_assoc($req)){
echo "<h2>{$data["titre"]} -- ".date("j/n/Y",strtotime($data["date"]))."</h2>";
echo "<p>{$data["contenu"]}</p><br/><br/>";

}
?>
</body>

Shukka Il y a 10 mois Répondre

Genial !

yabbix Il y a 10 mois Répondre

et la gestion des pseudo privés et publics

yabbix Il y a 11 mois Répondre

Bonjour moi j'ai un soucis c'est que je souhaite ouvrir une nouvelle page quand je veux voir les coms mais quand j'ouvre la fenetre sa m'affiche sa:
"Erreur SQL !
SELECT * FROM actupa WHERE id=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"

Que faire?

yabbix Il y a 11 mois - Répondre

probleme resolu merci comme meme

Roxeur Il y a 11 mois Répondre

Bonjour pour tout les nouveau qui regarde cette video je vous donne un code pour faire comme grafikart avoir une image + le titre et quand on clique dessus on atéri sur le news que on veut le voila:

echo"<a href="comment.php?id={$data["id"]}"><img src=image/{$data["img"]}><br>{$data["titre"]}</a><br/><br>";

benji69340 Il y a 1 an Répondre

Très bon tutorial !

nico Il y a 1 an - Répondre

thanks pour le tuto!

DarkDefender Il y a 1 an Répondre

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"


Qu'est ce que cela veux dire s'il vous plaît ?

DarkDefender Il y a 1 an Répondre

Très bon tutoriel !!

Cependant j'ai un souci, étant ultra novice en programmation (j'ai commencé la programmation il y a 2 semaines), je ne comprend pas le fichier config.php à quoi ait-il référence ?

Merci

lolita Il y a 1 an Répondre

Merci pour ce tutoriel!!!
Si quelqun peut m'aider cela serai génial !!
J'ai un systeme de news qui marche mais j'ai un petit soucis
Jaimerai que lorsque l'on clique sur la news on arrive dans une autre div...
Je cherche depuis des heures je me débrouille avec les tutos mais la je suis désespéré...
HELPP !!! Merci d'avance pour vos réponses
Voici mon code, le but étant de faire apparaître le résultat du lien dans une autre div...
?>
<h3><a href="index.php?id=<?php echo $data['id'];?>"> <?php echo stripslashes($data['titre']);?></a></h3>
<em><?php echo date("d/m/Y G:i",strtotime($data['date']));?></em>
<p><?php echo stripslashes($data['description']);?></p>


<?php

m@x-3d Il y a 1 an Répondre

Merci beau tutoriel

Diablo57 Il y a 1 an Répondre

Peut tu nous donner les code source de ta page pour mieux comprendre ?

alfirdaous Il y a 1 an - Répondre

J'ai mis en action="", alors je l'ai remplace par action="#" et ca marche

Alfirdaous Il y a 1 an Répondre

Bonjour,

J'ai pratique votre tuto, c'est super, je l'ai teste en doc separe, mais quand je l'ai integre au site, il m'envoi au url:

index.html?name=&gender=1&email=&comment=&captcha=&Send=Envoyer

Sachant que j'utilise des pseudo frames ainsi qu'une reecriture URL.

Merci pour votre aide

Teilijan Il y a 1 an Répondre

Bonjour et merci à nouveau pour ce tutoriel.

Tout est fonctionnel cependant, j'ai deux petits problèmes :

1 J'ai bien ceci dans mon code <input type="submit" value"Envoyer"/> et pourtant bien que le Formulaire soit fonctionnel, le bouton Envoyer m'apparait sans son Nom.

2 Lorsque l'on écrit un Commentaire, les " ' " s'affichent " '/ " une fois envoyés. Comment résoudre ce problème ?

Merci à Vous.

Jonathan Il y a 1 an Répondre

mon news_id reste a 0 , c'est normal?

Jonathan Il y a 1 an Répondre

J'ai un petit problème , malgré cette requête pour afficher les commentaires sur la page , sa ne fonctionne pas, je n'ai pas d'erreur et aucun commentaires s'affiche.
que dois-je faire ?

$sql="SELECT * FROM comment WHERE news_id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br/>'.mysql_error());
while($data2=mysql_fetch_assoc($req)){
echo "______________________<br/>";
echo $data2["pseudo"];
echo "<p>{$data["contenu"]}</p>";
echo "______________________<br/>";

merci d'avance

florent Il y a 1 an Répondre

Super ton tuto pfffiou ... Manquerai juste un petit tuto pour faire un forum :p

bilouze Il y a 2 ans Répondre

Salut, tuto vraiment sympa. Une question par rapport à ton propre système de commentaire sur le site, je vois que dans ton système on peut répondre à un commentaire et également répondre à un commentaire qui est déjà une réponse et ainsi de suite.
Pour tous les afficher, tu utilise une fonction récursive ou tu as une autre astuce ?
Merci.

noob4ever Il y a 2 ans Répondre

Trop bien !!!
merci tip top encore une fois, je crois qu'avec ce dernier tutos plus besoin de tutos, je vais enfin pour arriver à bout de mon site. Je te montrerai ça en te remerciant car tu en à fait une bonne partie, merci encore !

Kocal Il y a 2 ans Répondre

Très bon tuto

Encore merci GrafikArt

Gensou Il y a 2 ans Répondre

Très bon tutoriel !, j'ai opté pour combiner news, pagination et commentaire, sauf qu'à la place d'utiliser news_id pour lier le commentaire à la news, j'utilise l'id de la page lors de la pagination ^^.

J'ai utilisé tes tutoriels pour une page de mon site, si tu souhaites le mettre dans la rubrique "ils l'ont utilisés" http://www.gensou.fr/tutoriels/code_html.php?p=1

Merci de prendre de ton temps pour poster tes tutos, vraiment très utiles !

baudon00 Il y a 2 ans Répondre

100 eme com's ! Super Tuto, j'avais au moins fait la moitié tout seul, mais le reste ... :-° Merci beaucoup pour votre aide si delicate !

Marie-Micheline Il y a 2 ans Répondre

Merci pour touts ces renseignements

Baptiste Il y a 2 ans Répondre

C'est bon, j'ai trouvé seul:
$data["contenu"] = str_replace("<br>", "", $data["contenu"]);
$data["contenu"] = str_replace("<br/>", "", $data["contenu"]);
$data["contenu"] = str_replace("<br />", "", $data["contenu"]);

(3 formes pour etre sur de couvrir tous les br possibles ^^)

@+

Baptiste Il y a 2 ans Répondre

Salut!

dans ma page d'accueil je récupère les commentaires postés grace à ce systeme. J'ai mis en place le n2br pour conserver les sauts de ligne, ça marche bien, mais pour l'affichage à l'accueil j'aimerais bien les supprimer (comme toi en fait)! Merci!

@+

tgdn Il y a 2 ans Répondre

Le seul problème est que rien n'est expliqué, tout est deja fait, et qu'on ne peut télécharger ou voir aucune source !! Alors comme tt est deja fait, comme dans chaque tuto, on utilise tjrs les trucs d'avant: ici c'etait le systeme de news puis le truc admin, alors moi qui regarde ces video je me dis: Mais il pourrait pas commencer par une page toute blanche et nous expliquer point par point comment on fait ?
J'ai regardé comment faire avec jquery et ajax poster un form, mais ça dit: Comme pour le systeme de commentaires en php il faut faire ci et faire ça.... Très embetant....
Alors comme en plus on peut pas acceder aux sources, et il faut payer pour telecharger la video, meme si de la video on s'en fou, nous ce qu'on veut c'est les sourceeeess :P
Alors on peut rien faire, toi ton site il est bien fait, tu as su le faire et tout et tout, mais nous, qui sommes la pour apprendre, on y comprends rien, sauf cux qui ont vu toutes les videos depuis le debut...
Merci

Badbart Il y a 2 ans - Répondre

Comme tu le dit dans ton commentaire, tu as cas apprendre, au lieu de vouloir des sources tout prêts. Le but du site c'est pas de donnée des codes a copier coller mais des idées ou des nouvelles fonction.
Que ce soit pour un système comm, un formulaire ou autre chose, une requête ça reste une requête, une variable ça reste une variable, et un form avec des input ça bouge pas non plus. Donc apprend les bases !!!!
Apres si ton seul objectif c les codes sources tu as plein de site qui en donne. Bon copier/coller de script et bonne journée (copie colle ta journée d'hier si tu veux, tu gagneras du temps).

Le Stef Il y a 2 ans Répondre

Merci pour ce tuto très sympas, par contre j'ai une jolie erreur que je n'arrive pas à résoudre

SELECT id, titre, soustitre, DAYOFMONTH(datebillet) AS day, MONTH(datebillet) AS month FROM billets WHERE id=$id_news
Unknown column '$id_news' in 'where clause'

Pouvez vous m'aider, donc l'erreur arrive dès le début du tuto et pourtant j'ai casi la même chose sur mon site

Pouvez vous m'aider ? Merci bien

Revolver Il y a 2 ans Répondre

Bonjour,

J'ai un problème concernant mes commentaires.
Le but étant que je puisse laisser des commentaires sur un article en question et que je puisse voir ces derniers sur cette même page.
Je laisse donc un commentaire sur ma news, je clique sur "poster" mais on m'affiche cette erreur : "Array ( [pseudo] => Revolver78 [url] => http://cavaarriver.com [mail] => test@wanadoo.fr [contenu] => Mon premier com [news_id] => )
Notice: Undefined index: id in C:\wamp\www\define\addcom.php on line 13 "

Grafikart Il y a 2 ans - Répondre

L'erreur parle d'elle même $_GET['id']; n'est pas définit

Phil Il y a 2 ans Répondre

Bonjour !!!
Quelqu'un aurait une idée sur le pourquoi j'ai des post sur l'id=0 alors qu'il n'y a pas de news 0. Merci a vous de vos réponses.

darkplayer Il y a 2 ans Répondre

Coucou superbe tutoriel, mais il y a une faille ! Je ne sais pas si sa été déjà dit mais le hidden avec le news_id peut être modifier avec Tamper Data... Il faudrait faire une variable PHP pour passer l'ID de la news.
Mais sinon superbeeeee continu comme ça !

Dark

aresledieu Il y a 2 ans Répondre

Bonsoir,
j'ai un problème avec la partie "voir.php", je l'ai un peu modifié afin que une fois le commentaire posté, la page se ferme automatiquement, pour ce faire j'ai modifié une partie du form :
<input type="button" value="Envoyer" onClick='submit_close();'/> et ai rajouté un script nommé "submit_close()" avant.
Mais une fois cliquer sur "Envoyer", j'ai droit à une erreur :
"Erreur SQL !
SELECT * FROM news WHERE id=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
les infos du commentaire sont bien insérés dans la base de données, mais celles-ci ne sont pas affiché dans la page "voir.php" , et dans la base de données, les "news_id" se mettent sur "0" aulieu du numéro de la new.
Comment modifier cela ?
Merci.

dave Il y a 2 ans Répondre

Just magnifique tuto ^^ ......

Thomas Il y a 2 ans Répondre

Bonjour !
Merci pour ce super tuto, c'est bien utile lorsque l'on fait son propre site sans être un tueur en php

J'ai toutefois un soucis qui persiste :
Lorsque je suis sur ma page d'acceuil, mes news sont en liste et déjà ouvertes. Ce n'est pas comme ici avec le titre et le nombre de news qui correspond à côté.

Ma page "voir" marche niquel, mais je ne parvient pas à créé un lien vers cette page correspondant à la news en question.

En gros, il faut récupérer l'id de la news dans laquelle se trouve le bouton commentaire afin que celui ci m'envoie sur la page "voir" correspondant à cette cette id, donc à cette news...

Si vous pouviez me guider un peu, ce serait vraiment génial !
Merci pour tout en tout cas,
Thomas

vincenzo45 Il y a 2 ans Répondre

Bonjour! et tout d'abord merci pour tout ce bon boulot qui est partager avec pédagogie.
J'ai un problème avec la fonction header("Location:xxx.php)et ce à chaques fois qu'elle est utilisée dans les tutos, que ce soit celui sur les news ou celui des commentaires.
Pour vous rapeller un header était placé à la fin des fichier "suppr" et "creer", pour revenir sur l'"index" de la partie ADMIN des news. Un autre pour le fichier "addcoms" dans le système de commentaires.
Pour les deux premiers j'ai parader avec:

include_once "index.php";
exit();

Hors pour le fichier addcom.php cela ne marche pas car on y rappelle la valeur "$news_id".
Alors je tiens à préciser que je suis un gros noob en php, et que je ne comprend parfois pas grand choses à ce que je fais; que j'ai passé plusieures heures sur les forums en vain, j'ai un peu tout essayé...

Ah oui je ne travail pas en local je créer mes fichier je les balance sur un compte free et je test à coup de F5, je dis ça car j'ai lus qu'il y avait des histoires de buffers à modifier dans un certain fichier nomé "php.ini" en local, enfin moi et ma très faible connaissance de phpmyadmin, je n'y panne rien.

Enfin voilà, j'espère avoir été assez clair et complet afin que l'on puisse me répondre facilement et rapidement. Merci d'avance pour votre aide.

1986 Il y a 2 ans Répondre

Possibilité (facilement) de faire un bouton reply ?

Kagogal Il y a 2 ans - Répondre

Le bouton peut se faire via Javascript et jQuery, qui te déroulera une div cachée.

1younes9 Il y a 2 ans Répondre

Merci

1younes9 Il y a 2 ans Répondre

Super tuto, ca marche parfaitement mise a part un petit probleme :
Lorsqu'un utilisateurs laisse un com avec des caractère spéciaux, une erreur SQL se produit, j'ai le meme probleme pour le systeme de news. Je n'arrive pas a me servir de la fonction "mysql_real_escape_string". Si quelqu'un pouvait m'aider...
Merci d'avance.

Grafikart Il y a 2 ans

Regarde ce tutoriel il répondra à ton problème.
http://www.grafikart.fr/tutoriels/video/securite-injections-sql-59

Kagogal Il y a 2 ans - Répondre

Pour te servir de cette fonction, il faut que tu te connectes à la BDD juste avant que tu ne la déclares.

Jogos de vestir Il y a 2 ans Répondre

Très efficace même si j'ai eu un peu de mal !

Legendary Il y a 2 ans Répondre

oui c'est ce que j'ai fait, et ça marche maintenant, pourtant avant je n'avais pas utilisé cette méthode ... merci quand même

legendary Il y a 2 ans Répondre

Bonsoir,

J'avais déjà utilisé cette méthode et ca marchait parfaitement pour les commentaires et news, et là depuis cet aprem, j'essaie de le refaire, tout marche, par contre dans les champs titre ou contenu ( que ca soit pour ajouter, éditer une news/commentaire) dés que je mets des ' (petit apostrophe)j'ai systématiquement l'erreur
Erreur SQL !
INSERT INTO comment ..... You have an error in your SQL syntax;... at line1

Si je poste c'est que j'ai vraiment pas trouvé ou venait mon erreur ou mon oubli !
Merci d'avance pour vos réponses !
Je ne sais pas si c'est parce que je suis en localhost (wamp)

Badbart Il y a 2 ans

C'est normal, tu dois 'protéger' certain caractère pour évité les erreurs. Pour ça utilise "mysql_real_escape_string" , tu auras plus d'info online sur le manuel php !

ndngd Il y a 2 ans - Répondre

gbdgn

sweetheart Il y a 2 ans Répondre

Suite de mon message : en cherchant bien, je me suis aperçu que j'avais oublié de changer "post" en "get" dans voir.php :

<form action="addcomm.php" method="get">

Voilà qui pourrait aider ceux qui sont chez Free.

sweetheart Il y a 2 ans Répondre

Bonjour,

très bon tuto, très clair.
moi j'ai un problème avec l'ajout des commentaires. Apparemment ça viendrait de mon hébergeur (Free) qui n'aime pas la méthode POST. Quand je veux ajouter un commentaire, j'obtiens l'erreur suivante :

The requested method POST is not allowed for the URL /dossier/addcom.php".

Apache/ProXad [Aug 9 2008 02:45:07] Server at [URL de mon site] Port 80

Dans le fichier addcom, j'ai donc remplacé extract($_POST); par extract($_GET); (j'ai trouvé cette solution sur des forums) mais le problème persiste...

Quelqu'un aurait-il la solution ? Merci d'avance

cours particuliers Il y a 2 ans Répondre

Rassurez-vous, je ne viens pas vous donner un cours particuliers et encore moins dans votre domaine Je tenais tout simplement à vous remercier pour votre site et vous souhaiter une bonne année !

Baptiste Il y a 2 ans Répondre

pour la pagination j'ai trouvé le tuto! et oui je les refait depuis le début! ^^

valentin45000 Il y a 2 ans - Répondre

Pour que sa redirige vers son site, t c'est à toi de développer le système.
Voici se que j'ai fait :

if(isset($data2["url"]) && !empty($data2["url"])){
echo '<a href="'.$data2["url"].'">';
echo $data2["pseudo"];
echo '</a>';
}
else{
echo $data2["pseudo"];
}

Baptiste Il y a 2 ans Répondre

salut!
extra!
mais tu n'a pas parlé de la partie URL: je n'arrive pas à faire pour que le nom de l'auteur soit un lien vers son site: je n'arrive pas à récupérer l'id de son message... mais je récupère que l'id de l'article.... tu vois?
merci!

sinon, comment on fait pour que les articles se divisent en plusieurs pages, après 5 articles par exemple? merci!
@+

PS: merci pour ce tuto qui m'a un peu plus éclairé sur MySql, je vais m'en servir pour d'autres parties de mon site! c'est vraiment super cette programation "automatique"! une fois créé, le site marche tout seul! :D

valentin45000 Il y a 2 ans Répondre

Voilà c'est bon j'y suis arrivé !
J'ai adapté le système, moi je préfère utilisé une BDD par systèmes de commentaires, sa me permet plus de clarté ^^
Le système reste très simple à modifier ^^

Merci encore une fois.

valentin45000 Il y a 2 ans Répondre

j'ai essayé ceci :
echo nl2br ("{$data2["contenu"]}",false);
Mais sa ne marche pas.

Grafikart Il y a 2 ans

nl2br($data2["contenu"])

Badbart Il y a 2 ans

Idée pour le prochain tuto : "Initiation à Php", ça pourrait être utile a certain...

Interessé Il y a 2 ans - Répondre

+1

darkn1ko Il y a 2 ans Répondre

ton texte est entouré par quoi comme balise html? css?

valentin45000 Il y a 2 ans Répondre

Bon d'un autre côté il me l'est quand même dans l'ordre ^^
Par contre quand on fait des saut de ligne, il aligne tout.
Par exemple pour :
"Slt.
Sa va ?"
Il met :
"Slt. Sa va ?"
Comment faire pour résoudre se problème ?

Merci d'avance.

Grafikart Il y a 2 ans - Répondre

Utilise la fonction nl2br() elle convertit les sauts de lignes en <br/>

valentin45000 Il y a 2 ans Répondre

Bonjour,
J'ai une erreur :
SELECT * FROM comments WHERE news_id=1; ORDER BY id ASC
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY id ASC LIMIT 1' at line 1

Voici la ligne en question :
$sql="SELECT * FROM comments WHERE news_id=$id ORDER BY id ASC";

titi Il y a 2 ans Répondre

Merci tres bon tuto

PifyZ Il y a 2 ans Répondre

Tuto excellent, merci et beau travail

aresledieu Il y a 2 ans Répondre

Merci, je savais faire ça, mais j'aimerai pouvoir utiliser "window.open" ou similaire...

Badbart Il y a 2 ans - Répondre

Dans ce cas le plus simple c'est encore de chercher sur google pour trouver de jolie sources/exemples

aresledieu Il y a 2 ans Répondre

Bonjour,
je cherche une solution pour pouvoir ouvrir les news, quand on veut ajouter ou lire un commentaire, en pop up.
Parce que quand j'ajoute un commentaire ou que je lis les commentaires ça souvre dans la fenêtre de la page active.
Merci de m'aider.
Je pense que le pop up doit être inséré dans l'index.php au niveau de "voir.php?xxx", mais je sais pas comment faire.

Badbart Il y a 2 ans - Répondre

Si j'ai bien compris , tu veux ouvrir les news dans une autre page/onglet.
<a href="xxx" target="_blank">
OU le bon vieux clic mollette sur le lien ^^

Walas Il y a 2 ans Répondre

Salut,
je suis tombé sur votre tuto qui est exactement se que je cherchais !
Seulement, j'ai des erreurs de script !

Alors, déjà je voudrait savoir se que contient le dossier " config.php ", car a aucun moment vous n'y faites mention, et je me disait que sa pouvait etre sa !

Voici mon code :
( s'est la page index.php )
"


<?php


mysql_connect ("localhost","root","");
mysql_selectdb ("base");

$reponse = mysql_query("SELECT nom, id FROM texte ");
$req = mysql_query($sql) or die('Erreur SQL ! <br/>' .$sql. '<br/>' .mysql_error());
while ($data=mysql_fetch_asoc($req)) {

echo "<a href="index.php?id={$data["id"]}">{$data["nom"] } </a> ";

}

?> "

Et voici mes erreurs :

"
Notice: Undefined variable: sql in C:\wamp\www\Bibliotheque\index.php on line 8

Fatal error: Call to undefined function mysql_fetch_asoc() in C:\wamp\www\Bibliotheque\index.php on line 9
"

Et je ne comprend pas mes erreurs ...

Pouvez-vous m'aidez svp ?

Badbart Il y a 2 ans - Répondre

Ton erreur c'est que ta variable $sql est pas défini(comme le dit l'erreur).
Replace ton :
$reponse = mysql_query("SELECT nom, id FROM texte ");

Par :
$sql="SELECT nom, id FROM texte";

Bakka Il y a 2 ans Répondre

Bonjour et merci beaucoup... je cherché justement a faire un systeme de commentaire comme ça ...
Maintenant ... Faut que j'my mette !
Encore merci.

MstudioS Il y a 2 ans Répondre

salut a tous, bravo pour le tuto
mais j'ai un pb c que comment faire le retour a la ligne sans connaitre la language html pour utilisateur comme les commentaire sur ton site


Merci

thepix Il y a 2 ans Répondre

C'est possible d'avoir le code source? :p

Philippe Il y a 2 ans Répondre

Bonjour !!! je suis entrain de faire un flux des commentaires mais je rencontre quelques soucis... sur ma page de flux il m'indique titre inconnu et ne m'inscrit pas non plus les pseudos.. si quelqu'un a une idée de la marche à suivre je vous lirez avec plaisir..
amicalement

Shaw Il y a 2 ans Répondre

Désolé par avance pour le double post, pour ceux qui chercherai à combler les failles de sécurité, dans la page addComment.php j'ai remplacé :

extract($_POST)

par

$pseudo = mysql_real_escape_string(htmlspecialchars($_POST["pseudo"]));
$contenu = mysql_real_escape_string(htmlspecialchars($_POST["contenu"]));
$news_id = $_POST["news_id"];

Voilà bonne chance à vous, et à propos, super tutoriel :D

Grafikart Il y a 2 ans - Répondre

Héhé merci d'avoir partager ta solution

Shaw Il y a 2 ans Répondre

Pourrai tu nous aiguiller pour sécuriser le script de commentaire s'il te plait ? Car j'ai essayé de mettre un lien avec une alerte javascript, et ça marche, c'est plutôt inquiétant

Philippe Il y a 2 ans Répondre

@Grafikart..
Merci de votre réponse au sujet des liens, j'attends avec impatience votre tutoriels en attendant mes recherches se poursuive..
Amicalement..

Philippe Il y a 2 ans Répondre

re: non pas pour moi quand je suis connecter..
voir l'image http://img7.xooimage.com/files/c/8/a/sans-titre-2-12b85d7.png
Amiclalement..

Grafikart Il y a 2 ans

Ben normal nan ? tu as le champ pour mettre ton commentaire. Les autres champs ne sont pas apparent vu que tu es connecté car ils sont prérempliss par les informations de ton compt

Philippe Il y a 2 ans - Répondre

bonjour!!!
Ok mais mon commentaire ne passe pas quand je suis connecter, le loader tourne mais la comm ne s'inscrit pas. si tu dis que c'est normal alors cela doit être normal..
merci a toi ..
Amicalement.

Dimer47 Il y a 2 ans Répondre

Moi sa marche plutôt bien lorsque je suis connecter.

Philippe Il y a 2 ans Répondre

Bonjour !!! Déjà ! quand je suis connecter sur mon compte je ne peux pas poster, est -ce normal?
Concernant ma demande de mon ancien sujet voir ci-dessus, je n'ai pas trouver comment faire ( malgrès mes recherches )pour que les urls des sites que les visiteurs mettent soit cliquable. merci de me donner un ptit coup de main et de l'intérêt que vous porterez a ma demande..
Amicalement

Grafikart Il y a 2 ans

Bonjour, Quand vous êtes connecté vous n'arrivez pas à poster ? C'est à dire que le formulaire n'apparait pas ?

Pour créer les liens sur les messages il faut utiliser une expression régulière qui détecte et transforme les liens. J'expliquerais surement ça dans un prochain tutoriel.

Philippe Il y a 2 ans - Répondre

Bonjour.
Oui tout a fait, je n'ai juste ajouter un commentaire et que lorsque je veux effectuer mon commentaire, rien ne se passe...
donc je suis déconnecter actuellement lol
Amicalement

Philippe Il y a 3 ans Répondre

bonjour tous le monde ...
Dans le système de commentaire, il nous ai proposé de lier une url de site mais voilà je n'arrive pas a ce que l'url soit cliquable pour que le ou les visiteurs puissent s'y rendre, merci de votre aide apporter un mon sujet.
Amicalement

HPWEST Il y a 2 ans - Répondre

re bonjour !!! finalement j'ai trouver comment faire.
Merci à vous..
Amicalement

ilyesn Il y a 3 ans Répondre

Re j'ai oublié ton probléme :
SELECT N.texteNews, C.pseudo, C.texte FROM Commentaire C, news N
WHERE C.id_news=N.id_news
AND C.id_news= 54
en faite il n'y a pas besoin du champ genre dans la table commentaire.
C'est au niveau de la news que tu doit apliqué une condition, ici je vais appelé toute t'est news sons :

SELECT * FROM news
WHERE genre='sons'

Comme tu l'as vu tu as besoin que de 2 tables voilà je crois que sa marche
Allez bonne chance

ilyesn Il y a 3 ans Répondre

Salut Mixta, si j'ai bien compris ton commentaire tu voudrais que ton commentaire soit afficher que pour sa news et sa catégorie, normal lol. Eh bien moi j'aurais fait à ta place une table News ou il y aurait les champs :
id_news /l'indicateur de la news
genre / si ta news traite sur une vidéo ou un son...
texteNews /ect...

Pour ta table commentaire t'aurais c'est champ :
id_com /l'indicateur du commentaire
#id_news /clé étrangére id_news pour savoir à qu'elle news appartient ton com
genre /si ton commentaire est destiné à une vidéo ou un son..
texte /ect...

ex: pour appelé le texte de la news, plus tout les commentaires et les pseudo de la news vidéo 54:
SELECT N.texteNews, C.pseudo, C.texte FROM Commentaire C, news N
WHERE C.id_news=N.id_news
AND C.id_news= 54

Voilà normalement sa marche après si il y a des erreurs n'hésiter pas à le dire.

Mixta Il y a 3 ans Répondre

Salut, voila j'ai suivie ton tuto grâce à toi j'ai put faire mon système de commentaire le problème est que j'ai plusieurs catégorie brandnews, vidéos etc et pour chaque catégorie j'ai une table donc lorsque j'ajoute un son ou une vidéo ils auront eux deux un news_id=1 et dans chaque son ou vidéo auront les même commentaires j'ai penser à générer des nombres aléatoire pour chaque son et vidéo comme sa je n'aurai pas les même news_id dans chacun deux si il y a une autre solution je suis preneur.

Merci beaucoup.

ilyesn Il y a 3 ans Répondre

Salut c'était pour te demander si tu pouvais faire un tutorial pour les smiley pour les commentaires sa serait cool ^^. Personnelement je cherche un tuto sur ce thème lol.

Salazar Il y a 3 ans Répondre

Excellente vidéo.

Vous mettez fin à un mois de recherche x)

Merci beaucoup.

laulau35 Il y a 3 ans Répondre

bonjour,
excellent tuto, j'ai compris que les liens se faisaient par l'id dans l'url, moi je fais une recherche d'une fiche par une page recherche, le resultat n'affiche pas de id dans l'url, y a t-il un moyen afin d'avoir l'id et d'orienter les commentaire dessus ?
Bonne journée.

Bergit Il y a 3 ans Répondre

Merci bien.
Mais dans le cas de commentaire imbriqué où l'on peut répondre à un commentaire posté, quel est le principe de fonctionnement ?

Bouldegom Il y a 3 ans Répondre

Quand j'ai lu: "il te suffit de comprendre" j'ai tout de suite compris que je n'y arriverai pas ^^.

Non sérieusement je pense savoir comment faire!

Grafikart Il y a 3 ans Répondre

@Bouldegom : Ceci est un tutoriel, aussi si tu souhaite modifier certains éléments et faire un résultat différents il te suffit de comprendre et de réutiliser les choses expliquées dans la vidéo...

Bouldegom Il y a 3 ans Répondre

Hey!

J'ai une question, comment peut on afficher la news entière sur la page d'accueil (pas juste un lien vers la news). Et mettre un lien laisser un commentaire et le formulaire se déplie?

Merci d'avance!
Cordialement,
Bouldegom (Newbee de l'informatique)

x--Anthoo--x Il y a 3 ans Répondre

Vraiment génial ton site je te contacterais bientôt pour te fair un demande .

quelquun Il y a 3 ans Répondre

aah oui ! j'ai compris !

quelquun Il y a 3 ans Répondre

bonjour,je suis entrain de créer un blog sur mon site, mais je ne sais pas si je dois enregistrer mes articles dans la base de données ou bien dans des fichiers html.
merci de me dire comment vous,vous faites.
bonne journée !

HPWEST Il y a 3 ans Répondre

bonjour,
Merci pour les deux tutos concernant les news + commentaires.
par contre je vois que vous utilisez du js pour vos commentaires, pourriez nous faire une petite aide pour inclure ce procéder a la suite de vos tutos actuel.

merci a vous .

JLou Il y a 3 ans Répondre

Ouééé :P
Vivement le prochain alors ^^ A moins que le prochain soit celui avec cake, donc celui d'après, m'enfin on verra
D'ailleurs si tu en parle tu pourras expliquer la différence entre les différentes jointures, car perso j'ai pas compris.

Grafikart Il y a 3 ans Répondre

@JLou : Bonne remarque je ne fais pas encore attentions aux ressources que prennent certains de mes scripts. Les LEFT JOIN ça sera pour une prochaine fois

JLou Il y a 3 ans Répondre

D'un point de vue fonctionnel ok sa marche. Mais d'un point de vue script c'est pas terrible ^^ :
- Faut franchement éviter les requêtes dans les boucles c'est server-killer
- Faut éviter d'accumuler les requêtes : Ya franchement moyen de faire une jointure là, sa économiserais pas mal de ressources

C'est brutal ce que utilise comme méthode :p Si tu veux en discuter pas de problème.

kronos Il y a 3 ans Répondre

merci grafikart pour ce super tutos

ps:le tutos pour faire un folio complet c est pour quand?

Wan972 Il y a 3 ans Répondre

Thanks Grafikart pour le système de commentaire !

Toujours opérationnel.
Tout marche nickel pas de soucis ^^
je connaissais pas le coup de la clé étrangère ^^ sur mysql

@Babou, esthétiquement ie7 n'aime pas trop les popups.
Pour info, à ma connaissance un popup s'ouvre avec une nouvelle fenetre mais redimensionné (sur firefox) ou une nouvelle page (sur ie7)

On peut redimensionner une fenetre avec du javascript, voici un exemple, tu peux t'en servir:

<a href="tonlienpourafficherlescommentaires" target="_blank" onclick="window.open(this.href,'','width=taillelargeur, height=taillehauteur, directories=0, tollbar=0, menubar=0, location=0, status=0, resizable=0');return false;" title="Voir la video 1"></a>

Je pense n'avoir rien oublier ^^'

j'ai moi-même chercher voulu savoir comment ouvrir une pop up mais pas facile pour ie7 (si les utilisateurs d'ie7 ont cocher l'option "bloquer les popup", c pas évident pour toi)
Pour firefox, y a pas de soucis ^^ Vive firefox !! Tout le monde doit passer sur firefox. (enfin j'espère sincèrement).

Babou Il y a 3 ans Répondre

J'ai réussi à le modifier avec du css le système de news et les commentaires, donc j'affiche les news et j'met un lien sur chaque news qui dit "Voir/Ajouter un commentaire" ca marche, mais cela serais plus esthétique selon moi de mettre la partie commentaires dans une pop-up, j'ai cherche toute la journée un code pop up, mais tout ce que je trouve ouvre un nouvelle onglet et non une nouvelle page, donc si tu avais le code je t'en serai reconnaissant !

Kobe Il y a 11 mois - Répondre

pas mal ^^

Grafikart Il y a 3 ans Répondre

@Corto : Quand tu met le header il faut qu'il soit mis avant tout texte. Donc il faut mettre ton bout de code avant que le texte HTML commence.

DevAddict Il y a 3 ans Répondre

@Corto : Essaye de faire <?php echo $motif["nom"]; ?> Si ça n'affiche rien c'est que ta variable ne contient rien...
Mais je ne comprend pas pourquoi tu fais $motif['nom'] et pas tout simplement $nom après avoir effectué un extract($_POST).

Corto Il y a 3 ans Répondre

Rebonjour,
voila, mon motif fonctionnent enfin, mais le header de redirection (dans la page addcom) ne fonctionne pas, il me met "Warning: Cannot modify header information - headers already sent by (output started at c:\...\ajoutercomm.php:19) in c:\...\ajoutercomm.php on line 25"

Je dois dire que là je ne sais pas trop comment faire, j'avais déjà eu le problème et je l'avais contourné sans vraiment le résoudre, mais là pas possible de faire autrement (enfin avec mes maigres connaissances :s )
Si vous avez une idée, je suis preneur, merci :P

Corto

Corto Il y a 3 ans Répondre

Bonjour,
voila, j'aimerais ajouter dans le formulaire(celui pour poster un commentaire) des motifs pour restreindre les possibilités d'entrée (et ainsi mieux les contrôler).

Je fais donc mon motif:
if(isset($_POST["Envoyer"])) { $motif["email"]="....";
je vérifie si il est bon if(ereg($motif["nom"],$_POST["...;

Et rien ne se passe...j'ai mis un comtpeur qui permet d'afficher ce qui devrait être mauvais, mais rien n'y fait :'(

yannx Il y a 3 ans Répondre

Bonjour,

@Tit: Regarde le code source du site et du css utiliser par notre "amis" Grafikart, et si tu fait des essai sur ton site tu devrai comprendre déja l'essentiel.

<div class="comtop"></div>
<div class="com">
Le contenu du commentaire
</div>
<div class="combot"></div>
(Désoler sa va prendre un peu de place :s )
Comme tu peu le constater Grafikart utilise pour le contenu des comms 3 div. Une div qui gère l'image du haut avec width, height, background, et un no-repeat de défini, ensuite il utilise une div dite principale qui contiendrat le texte avec width, height, background et repeat-x de défini pour que l'image se répéte par rapport à la taille que vas prendre tout le texte. Et enfin une troisième div qui gère le bas avec les mème paramètre que la div qui gère le haut.

Voila maintenant fait des essaie sur ton site ^^.
( désoler si le coms que je laisse est gros :s )

Tit Il y a 3 ans Répondre

Bonjour, merci pour ce tuto vraiment super, comme tous!
J'ai juste besoin d'un coup de main, je débute en codage et je bloque sur quelque chose,
Voilà comme c'est vraiment sur bien expliqué, j'arrive à faire mon formulaire en php et à afficher les commentaires...mais je cherche à intégrer cela dans sur ma p'tite page, et là ça me pose un peu plus de problème, comment peut-on "relier" les commentaires à un certain style (défini dans le .css), comment peut-on faire pour faire par exemple comme pour l'affichage des comms de grafikart?
Merci beaucoup pour ce p'tit coup de pouce.
Bonne fin d'aprem

Toinou Il y a 3 ans Répondre

Et bien merci justement j'avais un problème au niveau de l'affichage de mes commentaires, cette nouvelle video tuto tombe pile poil au bon moment, merci beaucoup

lyes Il y a 3 ans Répondre

Ha cool ! merci ! je l'avait demandé celui là ! ^^
merci encore !
vous avez oublié de le mettre sur votre blog ! :P

lyes Il y a 3 ans Répondre

Ha cool ! merci ! je l'avait demandé celui là ! ^^
merci encore !
vous avez oublié de le mettre sur votre blog ! :P

yannx Il y a 3 ans Répondre

Très bon tutoriel.
Je me suis lancé sur mon script et bein.. j'avais tout faut xD
Avec ton aide ça vas super bien rouler maintenant, merci pour ce tuto et bon courage.

Babou Il y a 3 ans Répondre

Merci grafikart, un grand bravo pour ce tuto, on comprend mieux maintenant comment associé news et "com's". J'vais encore rajouter deux/trois trucks sur ce système de commentaires pour mon site de fan
Merci encore =D

Grafikart Il y a 3 ans Répondre

@Harry : Ici j'utilise effectivement de l'Ajax pour poster les commentaire, ceci afin d'éviter le spam et de ne pas couper le visionage d'un tutoriel.

Essayez d'analyser les codes sources des sites afin de mieux comprendre le fonctionnement des parties javascripts

Bzzz Il y a 3 ans Répondre

Je suis trop fan de vos tutos, ils sont trop bien expliqués, même mes profs le font pas aussi bien que vous.
Chapeau bas! ! !
Vous donnez envie de programmer! !
A très bientôt.

BigMini Il y a 3 ans Répondre

Et bin... encore une fois, je tire mon chapeau bien bas. Je comptais justement me mettre au boulot pour faire des commentaires sur mon blog ^^, un très grand merci encore une fois :D

Harry Il y a 3 ans Répondre

Mwahaha, très beau ce tuto, c'est du Javascript pour les afficher ici même ?
Encore un épisode dans la trilogie "News PHP"
Harry

Il y a 9 mois - Répondre

j'ai po trouvé le tuto

Laisser un commentaire

Si vous avez une question il est conseillé d'utiliser le forum si vous voulez une réponse sûre.