Empecher envoi du formulaire plusieurs fois
Bonjour,
Je sollicite votre aide afin de ne pas envoyer plusieurs fois le $_POST.
En effet, après l'actualisation de ma page, je suis invité à renvoyer l'enregistrement.
Pouvez-vous m'aider svp ?
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
| <?php
$FR_Email = NULL;
$MSG_OK = NULL;
$MSG_NO = NULL;
if(isset($_POST['Envoyer'])){
// Nettoyage des entrées
foreach($_POST as $var=>$val){if(!is_array($val)){$$var = strip_tags($val);}else{while(list($arvar,$arval) = each($val)){$$var[$arvar] = strip_tags($arval);}}}
if($MSG_NO==""){
$res = $pdo->query("SELECT Email FROM tb_newsletter_adresse WHERE Email='$FR_Email';"); $data = $res->fetch(PDO::FETCH_ASSOC);
if($data!=0) {$MSG_NO.= $NEWSLETTER_MSG_NO;}
if($data==0)
{
$FR_Source = PAGE;
$FR_Pays = $PAYS_ISO_2;
$req_fr = $pdo->prepare ("INSERT INTO tb_newsletter_adresse (Email) VALUES (:FR_Email)");
$req_fr ->execute(array("FR_Email"=>$FR_Email));
$MSG_OK.= $NEWSLETTER_MSG_OK;
}
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="Form1">
<input type="email" id="FR_Email" name="FR_Email" value="<?php echo $FR_Email; ?>" required >
<button type="submit" name="Envoyer">S'inscrire</button>
</form>
<?php if($MSG_OK){echo $MSG_OK;} ?>
<?php if($MSG_NO){echo $MSG_NO;} ?> |