1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <?php
// Pour contrer les spams, on va faire une petite regex
if(preg_match("!http|/|www|\.[A-Za-z]{2,4}!is",@$_POST['message']))
{
echo "<blockquote><h1>Anti-Spams</h1>
<p><em>Les URL et les slashs sont interdits.
Pensez aussi à mettre un espace après un point.</em></p>
</blockquote>\n";
exit();
}
// Mettons le (future) fichier dans une variable
$commentaires="messages.txt";
// assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML
$pseudo=htmlspecialchars($_POST['pseudo']);
$message=htmlspecialchars($_POST['message']);
// Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($message));
// On met en place quelques conditions pour les cellules (nom et message)
// On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée
if(!is_file($commentaires))
{
$verif=@fopen($commentaires,"w+");
}
// On vérifie que le login ou le message ne soient pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
echo "Vous devez remplir tous les champs ! <a href=\"livredor.php\">Retour sur le livre d'or</a>";
// On sort du script !
exit;
}
// Après ces quelques vérification d'usage on passe à l'exécution de ce formulaire
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
$verif=@fopen($commentaires,"r+");
// On analyse les anciennes données et on les stocks
$stock=@fread($verif,filesize($commentaires));
// On met la date dans une varialbe
$date=date ("d/m/Y à H:i");
// On paramère le tout dans la variable $opinion
$opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
// On remet le curseur du fichier en début de ligne
rewind($verif);
// On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
// On clore le fichier
fclose($verif);
// On affiche le tout
readfile($commentaires);
?> |
Partager