Zone de commentaireVoyez comment j'ai programmé la fonctionnalité qui vous permet d'ajouter des commentaires dans le bas de la page. Voici le code que vous devez placer dans un fichier externe (dans mon cas, commentaires.php) : <h2>Commentaire(s)</h2>
<?php
ini_set('magic_quotes_gpc', 0);
if (isset($url_id) && $url_id != '')
{
$id = mysql_connect('localhost', 'USERNAME', 'PASSWORD');
mysql_select_db('VOTRE_DB');
$url = mysql_real_escape_string($url_id, $id);
if (isset($_POST['fCommentaire']) && $_POST['fCommentaire'] != '')
{
$commentaire = mysql_real_escape_string($_POST['fCommentaire'], $id);
if (isset($_POST['fNom']) && $_POST['fNom'] != '')
{
$nom = mysql_real_escape_string($_POST['fNom'], $id);
$query = "INSERT INTO Commentaires (date, url, nom, commentaire) VALUES (NOW(), '$url', '$nom', '$commentaire');";
}
else
{
$query = "INSERT INTO Commentaires (date, url, commentaire) VALUES (NOW(), '$url', '$commentaire');";
}
mysql_query($query, $id);
}
$query = "SELECT * FROM Commentaires WHERE url = '$url' ORDER BY date;";
$result = mysql_query($query, $id);
while ($row = mysql_fetch_object($result))
{
echo "<div class='sidebox'>\n";
echo " <div class='boxhead'><h2>". htmlentities($row->nom, ENT_NOQUOTES, 'ISO-8859-1') ." - ". htmlentities($row->date, ENT_NOQUOTES, 'ISO-8859-1') ."</h2></div>\n";
echo " <div class='boxbody'>\n";
echo " ". nl2br(stripslashes(htmlentities($row->commentaire, ENT_NOQUOTES, 'ISO-8859-1'))) ."\n";
echo " </div>\n";
echo "</div>\n";
}
mysql_free_result($result);
mysql_close($id);
?>
<h3>Ajouter un commentaire</h3>
<form action="<?= $url_id ?>" method="POST">
<div class='sidebox'>
<div class='boxhead'><h2><label for="fNom">Votre nom </label><input type="text" name="fNom" size="25" maxsize="50"/></h2></div>
<div class='boxbody'>
<label for="fCommentaire">Votre commentaire</label><br />
<textarea name="fCommentaire" rows="3" cols="46"></textarea><br />
<br />
<input type="submit" value="Enregistrer" />
</div>
</div>
</form>
<?php
}
?>
Et voici comment vous devez appeler le tout où vous voulez que la section commentaire s'ajoute : <?php $php = $_SERVER['DOCUMENT_ROOT']; $url_id = "http://www.un-programmeur-php.ca/articles/recherche_phonetique.php"; include($php .'/commentaires.php'); ?> Pas plus compliqué que ça :-) En passant, le code pour le look and feel de la boite de commentaire provient de Ryan Thrash et le code pour la boite de Captcha provient de Simon Jarvis. Sébastien Brodeur Il est strictement interdit de reproduire ce texte sans la permission écrite de l'auteur. Commentaire(s)Sébastien Brodeur - 2006-11-20 02:06:26
Vous pouvez maintenant ajouter des commentaires.
John Doe - 2007-01-15 20:24:37
top
Tom Miler - 2007-02-06 22:00:27
Tom Miller
j'adore votre site ! Sébastien Brodeur - 2007-04-09 07:33:11
Merci Tom :-)
Sébastien Brodeur - 2007-11-06 23:51:53
Voici la structure de la table Commentaire.
CREATE TABLE `Commentaires` ( `id` int(10) unsigned NOT NULL auto_increment, `date` datetime NOT NULL default '0000-00-00 00:00:00', `url` text character set latin1 collate latin1_general_ci NOT NULL, `nom` varchar(50) NOT NULL default 'John Doe', `commentaire` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; Tom - 2008-01-05 06:00:37
test test ça fonctionne bien mais est-ce qu'on peut ajouter une section admin?
Mister Atrax - 2008-04-20 06:02:03Est t'il possible de devoir mettre l'e-mail est un lien externe ? John Doe - 2009-09-06 07:29:11
test
John Doe - 2009-09-06 07:29:29
ààààà
WAOUUUU - 2009-11-22 17:32:15
echo "<div class='sidebox'>\n";
echo " <div class='boxhead'><h2>". htmlentities($row->nom, ENT_NOQUOTES, 'ISO-8859-1') ." - ". htmlentities($row->date, ENT_NOQUOTES, 'ISO-8859-1') ."</h2></div>\n"; echo " <div class='boxbody'>\n"; echo " ". nl2br(stripslashes(htmlentities($row->commentaire, ENT_NOQUOTES, 'ISO-8859-1'))) ."\n"; echo " </div>\n"; echo "</div>\n"; CA ! Ca ! c'est exactement ce qu'il ne faut pas faire :) Mais alors pas DU TOUT ! >_< Non mais c'est quoi ce travail ? Depuis quand on se sert de PHP pour afficher des lignes entières d'HTML ????????????????????????????????? Et la fonction mysql_fetch_array ? Elle a disparue ? Non mais qu'on code salement, d'accord ... mais on ne crée pas de tutos pour coder salement sinon ... où va le monde ? >_< ... Et les index ? Ca existe les index non ? Boargl ... je voulais réécrire la fonction mais j'crois que c'est pas la peine, tu sauras le faire tout seul. Mais par pitié, plus jamais ça. Waouu encore moi - 2009-11-22 19:18:33
Voila bon finalement je suis revenu ...
J'ai encore des choses à redire : Dans le même code : pourquoi mettre des sauts à la ligne puisque les balises <div> sont de type "block" et quand bien même, le seul résultat est que c'est un peu plus joli lorsqu'on affiche un code source depuis un poste client. PS : echo " ". nl2br(stripsla... Un grand moment de PHP ... Voici un code outrageusement moins gourmand en ressource (pour le processeur mais surtout pour le cerveau du lecteur) : while ($row = mysql_fetch_object($result)){ ?> <div class="sidebox"> <div class="boxhead"> <h2> <?php echo htmlentities($row->nom, ENT_NOQUOTES, 'ISO-8859-1'); ?> - <?php htmlentities($row->date, ENT_NOQUOTES, 'ISO-8859-1'); ?> . </h2> </div> <div class="boxbody"> <?php nl2br(stripslashes(htmlentities($row->commentaire, ENT_NOQUOTES, 'ISO-8859-1'))); ?> </div> </div> <?php } montalicious - 2010-01-26 14:16:10
c'est quoi l'url id
Ajouter un commentaire |
Les gens qui ont consulter cet article, ont aussi consultez ceux-ci : |
|