Formulaire mail PHP

[Résolu/Fermé]
Signaler
Messages postés
2
Date d'inscription
jeudi 26 février 2009
Statut
Membre
Dernière intervention
27 février 2009
-
 Claude Chauvet (toto) -
Bonjour,

Aujourd'hui j'ai créer un formulaire de contact sur mon site. Voyant qu'un formulaire mailto en html ne marchais pas vraiment, je l'ai fais en php, j'ai garder le formulaire mais je le fais vérifier par un fichier php.

Le problème c'est que mon formulaire contient 12 champs et que apparement avec le code que j'utilise lorsque je recoit les réponse du formulaire sur mon mail j'en recois seulement 4, quand j'en met plus ça met une erreur et je ne recoit rien. voici le code source :

<?php
// Récupération des données transmises par POST
$pseudo = $_POST['pseudo'];
$teamname = $_POST['teamname'];
$teamtag = $_POST['teamtag'];
$mail = $_POST['mail'];
$siteweb = $_POST['siteweb'];
$jeu = $_POST['jeu'];
$date = $_POST['date'];
$heure = $_POST['heure'];
$map = $_POST['map'];
$mode = $_POST['mode'];
$nbjoueur = $_POST['nbjoueur'];
$commentaires = $_POST['commentaires'];

if($pseudo ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else
if($teamname ==""){
// On verifie le message
echo("Le champ teamname est vide !");
}
else
// On verifie le sujet
if($teamtag ==""){
echo("Le champ teamtag est vide !");
}
else
// On verifie l'email
if($mail ==""){
echo("Le champ mail est vide !");
}
else
// On verifie l'email
if($siteweb ==""){
echo("Le champ web est vide !");
}
else
// On verifie l'email
if($jeu ==""){
echo("Le champ jeu est vide !");
}
else
// On verifie l'email
if($date ==""){
echo("Le champ date est vide !");
}
else
// On verifie l'email
if($heure ==""){
echo("Le champ heure est vide !");
}
else
// On verifie l'email
if($map ==""){
echo("Le champ map est vide !");
}
else
// On verifie l'email
if($mode ==""){
echo("Le champ mode est vide !");
}
else
// On verifie l'email
if($nbjoueur ==""){
echo("Le champ nbjoueurs est vide !");
}
else
// On verifie l'email
if($commentaires ==""){
echo("Le champ commentaires est vide !");
}
else{
// si tout a été remplie, on envoi
mail("monemail",$pseudo,$teamname,$teamtag,"From: ".$mail);
echo("Votre message a bien été envoyé");
}
?>


PS : Je sais que le code est fait un peu a la va-vite, j'ai laissé des petites erreurs comme //on verifie l'email et d'autres petit truc mais ca n'influe pas sur le code donc bon.

Et sinon j'avais penser a diviser les champs en 4*3, pour m'envoyer 3 mail ? ca doit marcher nan ? mais y'a pas un truc plus simple ?

2 réponses

Bonsoir

Tu passes un peu n'importe quoi comme paramètres à ta fonction mail. Et tu affiches que l'envoi a été OK sans même tester le résultat de la fonction !

il faudrait plutôt faire:

$message = "pseudo : ".$pseudo."\n";
$message .= "team name : ".$teamname."\n";
....
$message .= "commentaires : ".$commentaires."\n";
if (mail ("monemail","sujet du mail",$message,"From: ".$mail)
echo "Votre message a bien été envoyé";
else
echo "Erreur lors de l'envoi";
Messages postés
2
Date d'inscription
jeudi 26 février 2009
Statut
Membre
Dernière intervention
27 février 2009

Merci mais j'ai trouvé j'ai utilisé une autre variable $message qui regroupe l'ensemble des variables du formulaire :

$message = $pseudo .' '. $teamname .' '. $teamtag .' '. $mail .' '. $siteweb .' '. $jeu .' '. $date .' '. $heure .' '. $map .' '. $mode .' '. $nbjoueur .' '. $commentaires;

Tu pouvais faire plus simple en utilisant des "
$message = "$pseudo $teamname $teamtag $mail $siteweb $jeu $date $heure $map $mode $nbjoueur $commentaires";