Ce serait en effet la meilleure méthode, mais je suis incapable de générer le code seulLe plus simple serait de rajouter un champ "valid" avec 0 par défaut à chaque envoie de message. Ainsi tu valideras toi même le message avant de l'afficher.
C'est ce que j'ai fait sur mon livre d'or en plus d'un blocage.
Il n'a jamais dit qu'il ne voulait pas le faireLe site du zéro utilise une BDD mysql, ce n'est donc pas la solution pour notre jeune homme...
if ($message != "")
{
// script pour poster le mesage
}
bien sur il faute que tu modifie la variable mais le mieux est de nous montrer le code pour qu on puisse t aiderCode : Tout sélectionner
<?php
// Si vous désirez adopter la même présentation que notre script :
// Indiquez ici la couleur de bordure des tableaux
$borduretable = "#000000";
// Indiquez ici la couleur de fond des tableaux
$backgroundtable = "#FFCC99";
// Indiquez ici la couleur de fond du tableau contenant les messages du livre d'or
$backgroundtable2 = "#FFFFFF";
// Indiquez ici la largeur du tableau
$largeurtable = "900px";
// Sinon, libre à vous de modifier la mise en page ci-dessous
echo '
<table style="border: thin solid '.$borduretable.'; font-family: Verdana; font-size: 12px; width: '.$largeurtable.'; background-color: '.$backgroundtable.';">
<tr>
<td width="50%"><a href="livre_lire.php">Lire le livre d\'or</a></td>
<td width="50%">Signez le livre d\'or</a></td>
</tr>
</table>
<br><font color="red" face="Verdana"><b>Les messages contenant du spam ou des URL seront systématiquement effacés.</b></font>
<br>';
// si le formulaire n'a pas été validé, la variable $poster est différente de "oui"
// on affiche donc le formulaire
if($poster!="oui"){
echo '
<table style="border: thin solid '.$borduretable.'; font-family: Verdana; font-size: 12px; width: '.$largeurtable.'; background-color: '.$backgroundtable.';">
<tr><form action="">
<td><div align="right">Nom ou Prénom:</div></td>
<td><input type="text" name="nom" size="40" style="font-size:12px;"></td>
</tr><tr>
<td><div align="right">Email:</div></td>
<td><input type="text" name="email" size="40" style="font-size:12px;"></td>
</tr><tr>
<td valign="middle"><div align="right">Message:</div></td>
<td><textarea cols="62" rows="10" name="message" style="font-size:12px;"></textarea></td>
</tr><tr>
<td colspan="2" align="center">
<input type="hidden" name="poster" value="oui" />
<input type="submit" value="Envoyer" / style="font-size:11px;">
<input type="reset" value="Effacer" / style="font-size:11px;">
</td>
</tr>
</table></center>
';
}
// si le formulaire a été validé, la variable $poster est égale à "oui"
// on traite donc les informations du formulaire
if($poster=="oui")
{
// On commence pas mettre en forme le message correctement
// suppression des balises HTML pour éviter les codes malveillant
$message = htmlspecialchars($message);
// convertion des retour chariots par des <br> et suppression des /
$message= nl2br(stripslashes($message));
// suppression des espaces en trop
// ex: si le visiteur à inséré trois espaces, un seul sera pris en compte
$message = ereg_replace("[ ]{2,}", " ", $message );
// On vérifie que le fichier contenant les anciens messages existe
if(file_exists("livre.html")){
// On copie le contenu des anciens messages dans une variable
// pour pouvoir y ajouter le message en cours
$fp=fopen("livre.html","r");
$contenu=fread($fp,filesize("livre.html"));
fclose($fp);
}
// On vide le contenu du fichier pour pouvoir y insérer le contenu
// de la variable contenant les anciens messages + le message en cours
$fp=fopen("livre.html","w");
fclose($fp);
// On ajoute le message en cours et on remet les anciens messages en dessous
// On met le nom, la date et l'email du message en cours dans une variable
$data="$nom - ".date('d/m/Y')." - e-mail : $email</td></tr></table>";
// On ouvre le fichier contenant les anciens messages
// (actuellement vide)
$fp=fopen("livre.html","a");
// On y ajoute le message en cours et les anciens messages
fputs($fp,"<table style='border: thin solid ".$borduretable."; font-family: Verdana; font-size: 11px; width: ".$largeurtable."; background-color: ".$backgroundtable.";'>
<tr><td>$data</td></tr></table><table style='border: thin solid ".$borduretable."; font-family: Verdana; font-size: 11px; width: ".$largeurtable."; background-color: ".$backgroundtable2.";'>
<tr><td> $message </td></tr></table><br>\n<!-- guest -->\n$contenu");
fclose($fp);
// On affiche un message de remerciement
echo '<span style="font-family: Verdana; font-size: 12px;">MERCI POUR LA CONTRIBUTION :-) </span>';
}
?>Code : Tout sélectionner
[php]