Accueil > > > AJOUTER FACILEMENT DES COMMENTAIRES À VOS PAGE PHP SANS SQL/DB
AJOUTER FACILEMENT DES COMMENTAIRES À VOS PAGE PHP SANS SQL/DB
Information sur la source
Description
Infos
*****
Ce script php ajoute très simplement une gestion des commentaires à votre page sans SQL/DB.
Très utile pour interagir avec les internautes qui pourront ainsi exprimer leurs impressions sur vos pages photos ou vos articles.
Utilisations
************
Il suffit d'ajouter la ligne suivante à l'endroit ou vous désirez que les commentaires s'affichent:
include("http://www.monsite/gestion_commentaires_p lus.inc");
Si vous désirez gerer les pseudos par cookies, ajouter les lignes suivantes en premier dans votre page php:
<?
//Cookies du pseudo
//*****************
$pseudo = $_POST['pseudo'];
//Enregistre le pseudo actuel
if(($pseudo != "")&&($pseudo != "Anonyme"))setcookie ("cookie_rep", $pseudo, time()+3600*24*365); //valable 1 année
//Lecture du pseudo
$cook_rep= $HTTP_COOKIE_VARS["cookie_rep"];
if(!isset($cook_rep))$cook_rep = "Anonyme";
if($pseudo == "")$pseudo = $cook_rep;
?>
Demo
****
http://www.jeunessebottens.com/ima ges/albums_photos/manifs/giron_2006/photos_giron/s amedi/tonelle/samedi.php
Bouillou
Source
- <?php
- /* ***************************************************** */
- /* Gestion des commentaires des pages photos */
- /* */
- /* Date de modification : 25 juillet 2006 */
- /* Auteur : Bouillou */
- /* */
- /* Gère, crée ou affiche les commentaires s'ils existent */
- /* */
- /******************************************************* */
-
- //*************************
- //Définitions des variables
- //*************************
-
- $debug = 1; //0=off / 1=on
- $notification_mail = 1; //0=non / 1=oui
- $adresse_mail = "monmail@mail.com";
- $provenance_mail = "From: commentaire_photo@domaines.com";
-
- //****
- //Main
- //****
-
- //Récupère le commentaire
- $commentaire = $_POST['commentaire'];
- //Extrait le nom de la page et l'utilise pour le nom du fichier de sauvegarde en ".txt"
- $script_name = $_SERVER['SCRIPT_NAME'];
- $pos = strrpos($script_name, "/");
- $path = substr($script_name, $pos+1, strlen($script_name) - $pos - 5).'.txt';
- if($debug == 1)
- echo "path :".$path."<br />";
-
- //Gestion du cookies
- if(!isset($pseudo))
- {
- $pseudo = $_POST['pseudo'];
- if($pseudo == "")$pseudo = "Anonyme";
- if($debug == 1)
- echo "<br /><br />Pas de cookies!!!<br /><br />";
- }
- else
- if($debug == 1)
- echo "<br /><br />Cookies actifs pseudo = <br /><br />".$pseudo;
-
- //Enregistre et affiche les commentaires
- if(isset($_POST['submit']))
- save_comment($path,$pseudo,$commentaire);
- else
- //Affiche les commentaires
- if(file_exists($path))
- echo affiche_commentaires($path);
-
- //Affichage du formulaire
- echo '
- <form enctype="multipart/form-data" name="comment_form" action="'.$_SERVER['PHP_SELF'].'" method="POST">
- <br />Votre Pseudo<br />
- <input name="pseudo" type="text" value="'.$pseudo.'" size="20" >
- <br />Ajouter votre commentaire ici:<br />
- <textarea name="commentaire" cols="70" rows="5"></textarea><br />
- <input type="submit" name="submit" value="Envoyer le commentaire" />
- <br /><br />
- </form>
- ';
-
- //*********
- //Fonctions
- //*********
-
- function affiche_commentaires($path)
- {
- global $debug;
- if($debug == 1)
- echo "<br /><br />Affichage des commentaires<br />";
-
- $handletmp = fopen($path,"r");
- $tableau_content = file($path);
- fclose($handletmp);
-
- //Affichage des commmentaires
- //***************************
-
- // boucle sur tous les elements
- $HTML = '<style>.font_tableau{color: black; font-size: 10pt;}</style><br /><br />';
- $HTML .= '<center><table width="550">';
- $HTML .= '<tr><td align="center" bgcolor="#BEBEBE"><b>Vos impressions</b></td></tr>';
-
- for($i=0; $i < count($tableau_content); $i++)
- {
- if($i%2==0)
- {
- $HTML .= '<tr><td class="font_tableau" valign="center" align="left" bgcolor="#FFFFFF">';
- $HTML .= $tableau_content[$i].'</td></tr>';
- }
- else
- {
- $HTML .= '<tr><td class="font_tableau" valign="center" align="left" bgcolor="#BEBEBE">';
- $HTML .= $tableau_content[$i].'</td></tr>';
- }
- }
- $HTML .= '</table></center>';
-
- return $HTML;
- }
-
-
- function save_comment($path,$pseudo,$commentaire)
- {
- //Enregistrement du commentaire
- //*****************************
-
- global $debug;
- global $notification_mail;
- if($debug == 1)
- echo "<br /><br />Enregistrement des commentaires<br />path: ".$path."<br />pseudo: ".$pseudo."<br />commentaire: ".$commentaire."<br />";
-
- global $adresse_mail;
- global $provenance_mail;
-
- if(file_exists($path))
- {
- $handle = fopen($path,"r");
- $tableau_content = file($path);
- fclose($handle);
- }
- //remplace le retour à la ligne par <br /> et le \' par '
- $commentaire=eregi_replace("\r\n","<br />",$commentaire);
- $commentaire=eregi_replace("\\\'","'",$commentaire);
-
- if(($commentaire != "")&&(($commentaire . "\r\n") != $tableau_content[count($tableau_content)-1]))
- {
- $handle = fopen($path,"w");
- for($i=0;$i < count($tableau_content); $i++)
- {
- if(($tableau_content[$i] != "")&&($tableau_content[$i] != "\r\n"))
- fwrite($handle,$tableau_content[$i]);
- }
- $str_out = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\n";
- fwrite($handle,$str_out);
- fclose($handle);
- if($notification_mail == 1)
- {
- $message = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\nhttp://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
- mail($adresse_mail,"Nouveau commentaire de ".$pseudo,$message,$provenance_mail);
- }
- }
- else
- {
- if($debug == 1)
- echo "<br /><br />Commentaire vide ou redondant!!!<br />";
- }
- echo Affiche_commentaires($path);
- }
-
- ?>
<?php
/* ***************************************************** */
/* Gestion des commentaires des pages photos */
/* */
/* Date de modification : 25 juillet 2006 */
/* Auteur : Bouillou */
/* */
/* Gère, crée ou affiche les commentaires s'ils existent */
/* */
/******************************************************* */
//*************************
//Définitions des variables
//*************************
$debug = 1; //0=off / 1=on
$notification_mail = 1; //0=non / 1=oui
$adresse_mail = "monmail@mail.com";
$provenance_mail = "From: commentaire_photo@domaines.com";
//****
//Main
//****
//Récupère le commentaire
$commentaire = $_POST['commentaire'];
//Extrait le nom de la page et l'utilise pour le nom du fichier de sauvegarde en ".txt"
$script_name = $_SERVER['SCRIPT_NAME'];
$pos = strrpos($script_name, "/");
$path = substr($script_name, $pos+1, strlen($script_name) - $pos - 5).'.txt';
if($debug == 1)
echo "path :".$path."<br />";
//Gestion du cookies
if(!isset($pseudo))
{
$pseudo = $_POST['pseudo'];
if($pseudo == "")$pseudo = "Anonyme";
if($debug == 1)
echo "<br /><br />Pas de cookies!!!<br /><br />";
}
else
if($debug == 1)
echo "<br /><br />Cookies actifs pseudo = <br /><br />".$pseudo;
//Enregistre et affiche les commentaires
if(isset($_POST['submit']))
save_comment($path,$pseudo,$commentaire);
else
//Affiche les commentaires
if(file_exists($path))
echo affiche_commentaires($path);
//Affichage du formulaire
echo '
<form enctype="multipart/form-data" name="comment_form" action="'.$_SERVER['PHP_SELF'].'" method="POST">
<br />Votre Pseudo<br />
<input name="pseudo" type="text" value="'.$pseudo.'" size="20" >
<br />Ajouter votre commentaire ici:<br />
<textarea name="commentaire" cols="70" rows="5"></textarea><br />
<input type="submit" name="submit" value="Envoyer le commentaire" />
<br /><br />
</form>
';
//*********
//Fonctions
//*********
function affiche_commentaires($path)
{
global $debug;
if($debug == 1)
echo "<br /><br />Affichage des commentaires<br />";
$handletmp = fopen($path,"r");
$tableau_content = file($path);
fclose($handletmp);
//Affichage des commmentaires
//***************************
// boucle sur tous les elements
$HTML = '<style>.font_tableau{color: black; font-size: 10pt;}</style><br /><br />';
$HTML .= '<center><table width="550">';
$HTML .= '<tr><td align="center" bgcolor="#BEBEBE"><b>Vos impressions</b></td></tr>';
for($i=0; $i < count($tableau_content); $i++)
{
if($i%2==0)
{
$HTML .= '<tr><td class="font_tableau" valign="center" align="left" bgcolor="#FFFFFF">';
$HTML .= $tableau_content[$i].'</td></tr>';
}
else
{
$HTML .= '<tr><td class="font_tableau" valign="center" align="left" bgcolor="#BEBEBE">';
$HTML .= $tableau_content[$i].'</td></tr>';
}
}
$HTML .= '</table></center>';
return $HTML;
}
function save_comment($path,$pseudo,$commentaire)
{
//Enregistrement du commentaire
//*****************************
global $debug;
global $notification_mail;
if($debug == 1)
echo "<br /><br />Enregistrement des commentaires<br />path: ".$path."<br />pseudo: ".$pseudo."<br />commentaire: ".$commentaire."<br />";
global $adresse_mail;
global $provenance_mail;
if(file_exists($path))
{
$handle = fopen($path,"r");
$tableau_content = file($path);
fclose($handle);
}
//remplace le retour à la ligne par <br /> et le \' par '
$commentaire=eregi_replace("\r\n","<br />",$commentaire);
$commentaire=eregi_replace("\\\'","'",$commentaire);
if(($commentaire != "")&&(($commentaire . "\r\n") != $tableau_content[count($tableau_content)-1]))
{
$handle = fopen($path,"w");
for($i=0;$i < count($tableau_content); $i++)
{
if(($tableau_content[$i] != "")&&($tableau_content[$i] != "\r\n"))
fwrite($handle,$tableau_content[$i]);
}
$str_out = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\n";
fwrite($handle,$str_out);
fclose($handle);
if($notification_mail == 1)
{
$message = $pseudo." le ".date('d.m.y à H:i:s')."\r\n".$commentaire."\r\nhttp://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
mail($adresse_mail,"Nouveau commentaire de ".$pseudo,$message,$provenance_mail);
}
}
else
{
if($debug == 1)
echo "<br /><br />Commentaire vide ou redondant!!!<br />";
}
echo Affiche_commentaires($path);
}
?>
Conclusion
N'hésitez pas à challenger mon code ;o)
En espérant que ce code sera utile,
A+,
Bouillou
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
php [ par soukaouta ]
bonjour tout le monde, j'ai essaye de faire un blog avec des commentaires en utilisant PHP5,tout se passe bien,l'ajout des message,l'affichage,l'ajout
Problème affichage de la commentaires [ par dyto ]
bonjour les zéros, mon probleme c que je fai un tuto, et il y 2 champs, et kon on les remplies, il l'ajoute dans la bdd et l'affiche dans en haut, com
Mettre des commentaires à ses news, probleme de code [ par sebing ]
Bonsoir, J'essaye d'afficher les commentaires de mes news. J'ai deux tables: news et commentaires_news. Elle peuvent etre relié par id(news) et id_ne
Probléme avec GET_PAGE [ par matrixscript59 ]
donc voicie mon probléme quand je regarde les commentaire de mais news il veut pas me affiché la page 2 ou 3 etc... quand je clic sur 2 il me envoye
Module commentaire: activer un llink [ par cedman35 ]
Bonjour a tous!J'ai developpe en PHP un module de commentaires pour que les utilisateurs de mon site puissent commenter certains articles. Les comment
un probleme avec mon livre d'or [ par Miss1 ]
Bonsoir, j'aurais besoin d'aide en effet j'ai crée un livre d'or , quand on passe par la page ecrire commentaire les message s'affiche correctement
requet SQL et timestamp php [ par rapbizz ]
Bonjour a tous , voila j'expose mon problemej'ai creer un systeme de newset j ai fé une partie admin qui me permet de voir les commentaire , creer les
Problème avec 'id pour mes commentaires [ par Danzeel ]
Voila j'essaye de créer un système de news avec commentaires mais j'ai quelques soucis avec mon id. En effet mysql me rapporte cette erreur Column 'id
espace commentaires [ par youvalcsharpp ]
bonjour, jai une page en php simple. Jaimerai savoir comment on met tout en bas de la page un espace commentaire avec les derniers commentaire et un
Une idée sur un script de commentaires (/ news) ? [ par kohntark ]
Salut à tous, Je souhaiterai savoir si vous connaissez un script de commentaires / news. ... j'en vois déjà qui pressent les touches "as tu cherché
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|