Script de validation de commentaires

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

max6
WRInaute discret
WRInaute discret
 
Messages: 168
Inscription: 18 Mai 2003

Script de validation de commentaires

Message le Sam Juil 31, 2004 10:31

Bonjour à tous .

J'ai mis au point un système pour permettre à mes visiteurs de commenter une fiche mais je me rend compte que j'ai besoin d'un système de validation .

Après de nombreuses recherches je n'ai absolument rien touvé !

Je suppose qu'il faut créer un nouveau champ "valid" par exemple dans ma table commentaire mais que dois je ajouter dans mon script php ?

vOICI LE code :

Code: Tout sélectionner

<?php include("sources/config.php");




$connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");


$result=mysql_query ("SELECT * FROM commentaires WHERE com='$id'") or die ("Requete impossible");
$nombcom = mysql_num_rows($result);


if(!$start) {$start=0;}


if ($nombcom==0) {echo("<center><font face=\"$face\" size=\"$taille\"><b>Aucun commentaires pour le moment</b></font></center>");}
else {echo("<center><font face=\"$face\" size=\"$taille\">Nombres de commentaires : <font color=\"$colnb\">$nombcom</font>.</font></center><br>");}


$result=mysql_query ("SELECT * FROM commentaires WHERE com='$id' ORDER by Date DESC, Heure DESC LIMIT $start,$affpage") or die ("Requete impossible");
while ($row = mysql_fetch_array($result)) {
$nom = $row["nom"];
$titrec = $row["titrec"];
$message = $row["message"];
$date = $row["date"];
$heure = $row["heure"];


list($y,$m,$d) = explode("-",$date);
$tir= "-";
$date = $d.$tir.$m.$tir.$y;


$message = str_replace('<br />','<br>',$message);


$message = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
"<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</a>",$message);


if ($smileys==1) {
$message = str_replace(' :) ','<img src="sources/1.gif">',$message);
$message = str_replace(' :( ','<img src="sources/2.gif">',$message);
$message = str_replace(' ;) ','<img src="sources/3.gif">',$message);
$message = str_replace(' :D ','<img src="sources/4.gif">',$message);}

if ($nombcom>0) {

echo("<center><table width=\"500\" border=\"0\">");
echo("<tr bgcolor=\"ffffff\">");
echo("<td>");
if (!$titrec) {
echo("<font face=\"$face\" size=\"$taille\" color=\"#000000\"><b>&nbsp;$nom</b></font>");}
else {
echo("<font color=\"000000\">Commentaire de</font><font color=\"1C5679\"> <b>$nom</b> </font><font color=\"000000\">le $date à $heure</font>");
echo("<br><font color=\"ff0000\">'$titrec'</font>"); }
echo("</td>");
echo("</tr>");
echo("</table>");



echo("<table width=\"500\" border=\"0\"><tr>");
echo("<td><font color=\"1C5679\">- $message</font>");
echo("</td></tr></table></center><br>");
}}


echo("<center><table width=\"500\" border=\"0\">\n<tr>\n<td width=\"30%\">\n<div align=\"left\">");
if($start>0){
echo("<a href=\"film.php?id=$id&num=$id&start=".($start-$affpage)."\"><font face=\"$face\"  size=\"$taille\">&lt;&lt; Pr&eacute;c&eacute;dent</font></a>");}
echo ("</div>\n</td>\n");
if($nombcom>0){
echo "<td width=\"500\"><center><font face=\"$face\"  size=\"$taille\">Page ";
echo ($start + $affpage)/$affpage;
echo (" sur ");
echo ceil($nombcom/ $affpage);}
echo ("</font></center>\n</td>\n<td width=\"30%\">\n<div align=\"right\">\n");


if($nombcom>$start+$affpage){
echo("<a href=\"film.php?id=$id&num=$id&start=".($start+$affpage)."\"><font face=\"$face\"  size=\"$taille\">Suivant &gt;&gt;</font></a>");}
echo ("</div>\n</td>\n</tr>\n</table></center>\n");
echo ("\n");


echo("Laisser un commentaire :");
echo("<form name=\"form1\" method=\"post\" action=\"sources/validecom.php?vd=$id\">");
echo("<table width=\"500\" border=\"0\">");
echo("<tr><td>Votre nom :</td><td>");
echo("<input type=\"text\" name=\"nom\" size=\"30\"></td></tr>");
echo("<tr><td>Votre Email :</td><td>");
echo("<input type=\"text\" name=\"email\" size=\"30\"></td></tr>");
echo("<tr><td>Titre de votre Commentaire :</td><td>");
echo("<input type=\"text\" name=\"titrec\" size=\"30\"></td></tr>");
echo("<tr><td>Votre commentaire :</td><td>");
echo("<textarea name=\"message\" cols=\"50\" rows=\"5\"></textarea><br></td></tr>");
echo("</table>");




if ($smileys==1) {
echo ("<center><a href=\"ajsmiley(' :) ');\"><img style=\"cursor:hand;\" src=\"sources/1.gif\" border=0></a>&nbsp;");
echo ("<a href=\"ajsmiley(' :( ');\"><img style=\"cursor:hand;\" src=\"sources/2.gif\" border=0></a>&nbsp;");
echo ("<a href=\"ajsmiley(' ;) ');\"><img style=\"cursor:hand;\" src=\"sources/3.gif\" border=0></a>&nbsp;");
echo ("<a href=\"ajsmiley(' :D ');\"><img style=\"cursor:hand;\" src=\"sources/4.gif\" border=0></a></center>");}
echo("<input type=\"image\" src=\"http://www.top-cine.com/images/SUBMIT.jpg\" name=\"Submit\" value=\"Valider\">");

echo("</form>");



//Ferme la base de donnees
mysql_free_result($result);
mysql_close($connect);
?>



Je remercie par avance les gens qui répondront clairement à ma question .

Max


Kmacleod
WRInaute accro
WRInaute accro
 
Messages: 3418
Inscription: 28 Nov 2002

Message le Sam Juil 31, 2004 11:07

Le système fonctionne avec une zone admin qui permet de valider
La validation peut se faire de deux manières
Soit il existe un champ "valid" qui sera alimenté à 0 ou 1 pour être affiché en zone privée / publique
Soit il y existe une table temporaire (admin) et une table definitive, la validation consite à copier l'enregistrement d'une table à l'autre.

La solution 1 est peut-être plus simple.

max6
WRInaute discret
WRInaute discret
 
Messages: 168
Inscription: 18 Mai 2003

Message le Sam Juil 31, 2004 11:42

Euh ....

Je comprends qu'il faille crée un champ valid mais je le constitue comment ?

Une partie admin est elle utile ?
Un simple formulaire avec valider ou supprimer sera très bien ...

Et dans le code php faut bien rajouter quelque chose ?

Merci

Oubah
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 1 Mar 2004

Message le Mar Aoû 03, 2004 8:58

A l'aide de PhpMyAdmin, tu rajoutes dans la table de tes commentaires un champ "valid" en tynint(1), ça suffit amplement.

Ensuite dans une zone d'admin, tu créé une page qui affiche la liste de tous les commentaires et tu mets un lien du genre :

Code: Tout sélectionner
<a href="activer.php?id_commentaire=1&valid=1">Valider</a>
et l'inverse pour désactiver.

Et tu fais une page dans laquelle tu as une requête pour mettre à jour le champ "valid".

Y a d'autres solutions, celle-ci n'est qu'un exemple.[/code]


rottman
WRInaute passionné
WRInaute passionné
 
Messages: 2121
Inscription: 6 Jan 2004

Message le Mar Aoû 03, 2004 10:32

Dans ton code PHP si tu veux afficher seulement les commentaires activés, et donc ils auront un champ valid = 1 , tu modifie ton code :

Code: Tout sélectionner
......................
$result=mysql_query ("SELECT * FROM commentaires WHERE com='$id'  AND valid= '1'");
.......................


y'a 2 requètes mais j'ai trop compris comment que ça se passait...?!


et pour le postage :


Code: Tout sélectionner
....................
echo("<form name=\"form1\" method=\"post\" action=\"sources/validecom.php?vd=$id&valid=0\">");   // pas très sécurisé mais enfin bon...
....................



Et puis il te reste plus qu'à rajouter un champ valid dans ta table.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités