Script de validation de commentaires

WRInaute discret
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:
<?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
 
WRInaute passionné
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.
 
WRInaute discret
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
 
WRInaute discret
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:
<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]
 
WRInaute passionné
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:
......................
$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:
....................
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.
 
Discussions similaires
Haut