Bug formulaire 4 envois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bug formulaire 4 envois

Re: Bug formulaire 4 envois

par JcLoD » 03 sept. 2011, 22:22

Merci j'ai compris pb réglé a+

Re: Bug formulaire 4 envois

par Ryle » 03 sept. 2011, 22:14

Si tu places l'appel à la fonction mail() et le header après la boucle while plutôt qu'à l'intérieur, ils ne seront appelés qu'une seule fois au lieu d'être appelé à chaque itération de ta boucle :)

Bug formulaire 4 envois

par JcLoD » 03 sept. 2011, 17:53

Bonjour a tous,

Alors voila je viens d'insérer dans mon formulaire de contact, un code pour qu'il y est les champs obligatoires remplis sur le site : http://nightskill.mtxserv.fr/contact.html
Tous marche bien quand on oublie de remplir il nous redirige et n'envoi pas de mail mais quand on remplit tous, il envoi a mon adresse mail 4 mail pour l'envoi d'un seul message:

Voila ce que je recoit dans les mail:
le 1er : realname : Nom Test
le 2eme : realname : Nom Test
email : Email Test
le 3eme : realname : Nom Test
email : Email Test
title : Sujet Test
le 4eme : realname : Nom Test
email : Email Test
title : Sujet Test
comments : Message Test

Alors que normalement je devrais recevoir dans un seul mail les 4 informations

Voila mon formulaire (formmail.php):
<?php
$realname = $_POST['realname']; 
$email = $_POST['email']; 
$title = $_POST['title']; 
$comments = $_POST['comments']; 
if(empty($realname)) 
{ 
Header("Location: http://nightskill.mtxserv.fr/champs.html" );
exit();
}
if(empty($email)) 
{ 
Header("Location: http://nightskill.mtxserv.fr/champs.html" );
exit();
}
if(empty($title)) 
{ 
Header("Location: http://nightskill.mtxserv.fr/champs.html" );
exit();
}
if(empty($comments)) 
{ 
Header("Location: http://nightskill.mtxserv.fr/champs.html" );
exit();
}
$TO = "mon_adresse_mail";
$h = "From: " . $TO;
$message = "";
$subject = "CONTACT SITE EROSION";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
mail($TO, $subject, $message, $h);
Header("Location: http://nightskill.mtxserv.fr/mailenvoyer.html" );
}
?>
Si vous avez une solution je suis prenneur. Merci d'avance :wink:

Cordialement