Envois du formulaire plusieurs fois
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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 ?
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 ?
<div style="background: #EFEFEF; padding: 30px 0"><div class="body-cont" align="center"> <h4 class="txt_majuscule" style="margin-bottom: 20px;"><?php echo $NEWSLETTER_TITRE; ?></h4> <?php $FR_Email = NULL; $MSG_OK = NULL; $MSG_NO = NULL; $affiche = true; if(isset($_POST['Envoyer'])){ 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, Source, Pays) VALUES (:FR_Email, :FR_Source, :FR_Pays)"); $req_fr ->execute(array("FR_Email"=>$FR_Email, "FR_Source"=>$FR_Source, "FR_Pays"=>$FR_Pays)); $MSG_OK.= $NEWSLETTER_MSG_OK; $affiche = false; } } } ?> <?php if ($affiche == true) { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="Form1" autocomplete="off"> <div class="input-group mb-3 col-md-6"> <input type="email" class="form-control" placeholder="Veuillez entrez votre adresse mail" id="FR_Email" name="FR_Email" value="<?php echo $FR_Email; ?>" required > <div class="input-group-append"><button class="btn btn-primary" type="submit" name="Envoyer"><i class="fa fa-paper-plane"></i></button></div> </div> </form> <small class="form-text text-muted"><?php echo $NEWSLETTER_TEXTE; ?></small> <?php } ?> <?php if($MSG_OK){ ?><div class="div_20"></div><div class="alert alert-primary col-md-5" role="alert"><?php echo $MSG_OK; }?></div> <?php if($MSG_NO){ ?><div class="div_20"></div><div class="alert alert-danger col-md-5" role="alert"><?php echo $MSG_NO; ?></div> <?php } ?> </div></div>
A voir également:
- Envois du formulaire plusieurs fois
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Site paiement plusieur fois carte nickel forum - Forum Consommation & Internet
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
que veux-tu dire par "envoyer le $_POST"?
Veux-tu dire que, quand l'utilisateur demande au navigateur de rafraîchir la page, le navigateur demande à l'utilisateur si il veut renvoyer les informations?
pourrais-tu expliquer ce que tu essaies réellement de réaliser?
que veux-tu dire par "envoyer le $_POST"?
Veux-tu dire que, quand l'utilisateur demande au navigateur de rafraîchir la page, le navigateur demande à l'utilisateur si il veut renvoyer les informations?
pourrais-tu expliquer ce que tu essaies réellement de réaliser?
Bonjour,
Personnellement... pour éviter ce genre de souci.. je n'utilise plus le submit des formulaire.
Je code tout en ajax.
Lorsqu'on ne peut pas faire de l'ajax, on peut, à la limite, utiliser un tocken.
Exemple :
https://arjunphp.com/prevent-multiple-form-submissions-php/
Personnellement... pour éviter ce genre de souci.. je n'utilise plus le submit des formulaire.
Je code tout en ajax.
Lorsqu'on ne peut pas faire de l'ajax, on peut, à la limite, utiliser un tocken.
Exemple :
https://arjunphp.com/prevent-multiple-form-submissions-php/
Je souhaiterais que lorsque l'utilisateur poste dans un formulaire, le rafraîchissement ne fonctionne que pour rafraîchir la page et non pas un renvoi du formulaire.
Ici j'ai donné un exemple de juste une adresse mail (newsletter) mais sur mes autres formulaires ça coince un peu plus... les jeux par exemples.
Pas plus tard que la semaine dernière j'ai une 315 entrées d'une même adresse IP pour tenter de gagner a un jeu...