3. Afficher le formulaire de saisie de nouveau commentaire Pour cela, ajoutez la ligne suivante à l'emplacement désiré de votre fichier html : 4. A l'ajout du premier commentaire, le fichier commentaires.dat est créé, assurez-vous que vous avez les droits d'écriture CHMOD pour ce fichier. Voilà, votre système de commentaires est prêt ! Vous pouvez éventuellement modifier la ligne $fileName = "commentaires.dat"; pour spécifier un nom de fichier différent pour le stockage des commentaires. Afficher les commentaires dans l'ordre chronologique de haut en bas et non l'inverse Par défaut, les commentaires les plus récents sont affichés en haut tandis que les commentaires plus anciens se trouvent vers le bas de la page. Pour inverser cet ordre, il suffit de commenter la ligne suivante, c'est-à-dire faire débuter la ligne par deux slashes // : $tab = array_reverse($tab); Qui serait donc à remplacer par // $tab = array_reverse($tab); */ $fileName = "commentaires.dat"; if (isset($_POST["msg"])) { $msg = $_POST["msg"]; $pseudo = $_POST["pseudo"]; $date = time(); if (!$msg) die("ERREUR : veuillez spécifier un message"); if (!$pseudo) die("ERREUR : veuillez spécifier un pseudo !"); $str = @file_get_contents($fileName); $fd = @fopen($fileName, "w") or die("ERREUR : impossible d'écrire dans le fichier $fileName."); $msg = htmlspecialchars($msg); $pseudo = htmlspecialchars($pseudo); $msg = str_replace("§", "§", $msg); $pseudo = str_replace("§", "§", $pseudo); $msg = str_replace("|", "|", $msg); $pseudo = str_replace("|", "|", $pseudo); if ($str) $str.="§"; $str .= "$pseudo|$date|$msg"; @fwrite($fd, $str); @fclose($fd); $x = $_SERVER["HTTP_REFERER"]; if ($x) header("Location:$x"); else echo("Merci d'avoir posté votre commentaire !
Cliquez sur page précédente pour revenir à la liste des commentaires !"); exit(); } $action = ""; if (isset($_GET["action"])) $action = $_GET["action"]; $action = strtolower($action); if ($action == "show") { $str = @file_get_contents($fileName); if (!$str) { echo("\r\n document.write('

Aucun commentaire enregistré pour l\\'instant.

'); \r\n"); exit(); } $tab = explode("§", $str); $tab = array_reverse($tab); $n = count($tab); echo("\r\n document.write('

$n commentaires actuellement enregistrés :

'); \r\n"); for ($i = 0; $i < count($tab); $i++) { $t = explode("|", $tab[$i]); echo("document.write('

{$t[0]}, ".date("d/m/Y H:i", $t[1])."

'); \r\n "); echo("document.write('

". preg_replace("`(\r\n|\r|\n)`", "
", str_replace("'", "\\'", $t[2])) ."

'); \r\n"); } echo("\r\n document.write('

Ce système de commentaires est proposé par QuentinC

'); \r\n "); } else if ($action == "form") { echo(' document.write( \'
\'+ \'

\'+ \'\'+ \'

\'+ \'
\'+ \'\'+ \'

\'+ \'

\'); '); // fin } ?>