Bug formulaire 4 envois

Eléphant du PHP | 55 Messages

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 55 Messages

03 sept. 2011, 22:22

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