Envois du formulaire plusieurs fois
                    
        
     
             
                    Sinistrus
    
        
    
                    Messages postés
            
                
     
             
            1010
        
            
                            Date d'inscription
             
                            Statut
            Membre
                            Dernière intervention
             
            
                -
                                     
yg_be Messages postés 24281 Statut Contributeur -
        yg_be Messages postés 24281 Statut Contributeur -
        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 compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
- Site paiement plusieur fois carte nickel forum - Forum Consommation & Internet
3 réponses
                        
                    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...