réinitialiser les variables du formulaire en PHP
Bonsoir tout le monde.
Cela fais un bon moment que je me prend la tête à réinitialiser des variables dans mon livre d'or et je ne trouve pas le moyen.
Pour être clair, si je clique sur valider tout se passe bien, puis je valide une seconde fois le nouveau message s'affiche. Par contre si je rempli les champs et puis je clique sur valider ensuite j'actualise la page, les variables $_POST sont toujours renseignées avec les mêmes valeurs entrées. Donc si j'actualise dix fois de suite j'aurai dix fois le même enregistrement. Comment faire pour vider les variables ou les réinitialiser ? Comment réactualiser automatiquement la page une fois que le visiteur clique sur valider ? J'ai cherché sur le net et dans le forum je ne trouve pas ce qui me va. Merci pour l'aide que vous pouvez m'apporter.
Ci-après mon code.
Code:
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
|
<form method="post" action="guestbook.php">
<div id="contenupoeme">
Si vous voulez laisser un commentaire...</br></br>
Pseudo :<input name="pseudo" /><br /><br/> e-mail : <input name= "mail" /> <br/><br/> Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="submit" value="Envoyer" />
</div>
</form>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=db_livreor', 'root', '', $pdo_options);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->query('SELECT *FROM t_livreor');
// on affiche les messages des visiteurs
while ($donnees = $reponse->fetch())
{
echo $donnees['pseudo'] . '<br/>';
echo $donnees['ip'] . '<br/>';
echo $donnees['message'] . '<br /><br />';
}
//Insertion d'un nouveau message
if(isset($_POST['pseudo']) && isset($_POST['mail']) && isset($_POST['message']))
if (empty($_POST['pseudo']) || empty($_POST['mail']) || empty($_POST['message']))
{
echo 'Veuillez renseigner tous les champs';
}
else
{
$req = $bdd->prepare('INSERT INTO t_livreor(ip,pseudo, mail, message) VALUES(?, ?, ?, ?)');
$req->execute(array($ip,$_POST['pseudo'],$_POST['mail'],$_POST['message']));
echo 'Votre message a bien été envoyé. Il sera publié après modération.';
}
if(isset($_POST['pseudo']))
{
print_r($_POST['pseudo']);
}
$reponse->closeCursor(); // Termine le traitement de la requête
?> |
J'ai fais un print_r() pour voir ce que contenait le $_POST à la fin du module.