Bonjour,
Je viens de créer une page, pour permettre aux visiteurs de mon site de commenter mes news. Ma partie commentaire fonctionne, on peut poster un commentaire, le commentaire est transmis a ma bdd et l'affichage se fait sans probléme.
Par contre, lorsque que l'on fait actualiser la page (soit sur le bouton "actualiser" du navigateur, soit F5), le commentaire qui vient d'être tapé, et une nouvelle fois inséré dans ma bdd et donc affiché sur ma page.
Le champ POST garde sa valeur.
Voici le message que j'obtiens lorsque j'actualise ma page :
"La page que vous tentez de voir contient des données envoyées par POST. Si vous renvoyez les données, toute action entreprise par la page Web (telle qu'une recherche ou un achat en ligne) sera répétée. Pour envoyer à nouveau les données, cliquez sur OK, sinon cliquez sur Annuler."
Quelqu'un aurait-il une solution pour éviter d'avoir une nouvelle entrée dans ma base de données a chaque fois que je fais actualiser ??? Comment faire pour vider les champs POST ou interdire d'actualiser ma page ???
Merci d'avance pour vos réponses
Voici la partie de mon script concerné :
<?
if (isset($_POST['message']) AND isset($_POST['nom']))
{
if($_POST['message'] != '' AND $_POST['nom'] != '')
{
$datedujour = date('d-m-Y');
$pseudo = stripslashes(htmlentities($_POST['nom'], ENT_QUOTES));
$message = stripslashes(htmlentities($_POST['message'], ENT_QUOTES));
$message = nl2br($message);
$email = htmlentities($_POST['email'], ENT_QUOTES);
$idcomment = $_POST['idcomment'];
mysql_query ("INSERT INTO matable VALUES('', '" . $datedujour ."', '" . $pseudo . "', '" . $email . "','" . $message . "', '" . $idcomment . "')" )or die (mysql_error()); /* Là, on entre juste les données dans une nouvelle entrée de la table SQL...*/
?>
<div id="conteneur3"> //Voici la partie que j'avais oublié !!!
<p2><em><strong>Le <? echo $datedujour ?> par <? echo $pseudo; ?></strong></em> <br /></p2> <p4><? echo $message; ?></p4>
</div>
<?
echo "Merci d'avoir commenté !";
} else {
echo "Les champs nom et message sont obligatoires !!!";
}
}
?>
<a name="ancre_1"></a>
<h2 class="Style2">Commentez la news : <q><?php echo $_GET['titrenews']; ?></q></h2>
<form method="post" >
<input type="hidden" name="idcomment" value="<?php echo $_GET['idnews']; ?>" />
<table width="670" border="0">
<tr>
<td width="166"><label> </label>
<div align="right" class="Style7"> Nom : </div></td>
<td width="488"><input type="text" name="nom" /></td>
</tr>
<tr>
<td><label></label>
<label> </label>
<div align="right" class="Style5">Email (facultatif) : </div>
<label></label></td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td valign="top"><div align="right" class="Style5">Message : </div></td>
<td><textarea name="message" rows="5" cols="50"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><div align="center">
<input name="submit" type="submit" value="Valider votre message" />
</div></td>
</tr>
<tr>
<td> </td>
<td><div align="center"></div></td>
</tr>
</table>
</form>
<?php mysql_close(); ?>