Formulaire de contact HTML et Traitement PHP

Résolu/Fermé
Narmesa - 14 oct. 2008 à 22:35
 Narmesa - 14 oct. 2008 à 23:33
Bonsoir,

J'ai un problème, j'essaye de créer un formulaire HTML avec traitement en PHP en vain. Mon formulaire est ok mais c'est du côté du traitement PHP que ca ne va pas car lorsque je reçoit l'e-mail une des réponses apparaît en sujet de l'email et le contenu de cet e-mail est vide (donc pas les autres réponses à mon questionnaire).

Mon formulaire est pourtant simple :

- Un champ de texte pour le pseudo
- Un champ de texte pour l'e-mail
- 3 Listes déroulantes

Si jamais quelqu'un pouvait m'aiguiller voir aurait un formulaire tout prêt avec ces options et juste à changer les textes...

Merci d'avance pour vos réponses,

Bonne Soirée.
A voir également:

8 réponses

Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
14 oct. 2008 à 22:39
salut,

voici un lien qui va surement t'aider :)

http://www.ge-net.ch/page/rw-wfco-int-0.html

Au plaisirs!
1
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
14 oct. 2008 à 22:40
Bah si tu nous donnait ton code HTML (juste le formulaire <form>....</form>)/PHP se serait bien plus simple pour résoudre le problème :-)
Ca doit pas être bien grave comme erreur.
1
deadmix Messages postés 145 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 30 mai 2014 29
14 oct. 2008 à 22:42
voici un formulaire simple :

<form method="POST" action="mailer.php">
<input type="text" name="name" size="19"><br>
<br>
<input type="text" name="email" size="19"><br>
<br>
<textarea rows="9" name="message" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Submit" name="submit">
</form>


Le mailer.php :

<?php
if(isset($_POST['submit'])) {
$to = "you@you.com";
$subject = "Form Tutorial";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>

--------------------
C tt ce que tu y'en auras besoin , regarde le 2eme code de mailer.php et compare le avec le tien.

http://templates4all.blogspot.com/
telecharger des themes Gratuits.
1
Merci des réponses voici mon code HTML :

<form action="../traitement.php" method="post">
<p>Votre Pseudo (identique à celui utilisé sur FIFA09) :
<input type="text" name="name" size="40"><br>
Votre adresse e-mail :
<INPUT TYPE=text NAME="*E-mail" VALUE="" SIZE=40>
<p><strong>Veuillez choisir 3 équipes par ordre de préférence : (au cas où une des équipes est prise)</strong><br>
Equipe 1 :
<label>
<select name="select" id="select">
<option>Auxerre</option>
<option>Bordeaux</option>
<option>Caen</option>
<option>Grenoble</option>
<option>Le Havre</option>
<option>Le Mans</option>
<option>Lille</option>
<option>Lorient</option>
<option>Lyon</option>
<option>Marseille</option>
<option>Monaco</option>
<option>Nancy</option>
<option>Nantes</option>
<option>Nice</option>
<option>PSG</option>
<option>Rennes</option>
<option>Saint-Etienne</option>
<option>Sochaux</option>
<option>Toulouse</option>
<option>Valenciennes</option>
</select>
</label>
<br>
Equipe 2 :
<select name="select2" id="select2">
<option>Auxerre</option>
<option>Bordeaux</option>
<option>Caen</option>
<option>Grenoble</option>
<option>Le Havre</option>
<option>Le Mans</option>
<option>Lille</option>
<option>Lorient</option>
<option>Lyon</option>
<option>Marseille</option>
<option>Monaco</option>
<option>Nancy</option>
<option>Nantes</option>
<option>Nice</option>
<option>PSG</option>
<option>Rennes</option>
<option>Saint-Etienne</option>
<option>Sochaux</option>
<option>Toulouse</option>
<option>Valenciennes</option>
</select>
<br>
Equipe 3 :
<select name="select3" id="select3">
<option>Auxerre</option>
<option>Bordeaux</option>
<option>Caen</option>
<option>Grenoble</option>
<option>Le Havre</option>
<option>Le Mans</option>
<option>Lille</option>
<option>Lorient</option>
<option>Lyon</option>
<option>Marseille</option>
<option>Monaco</option>
<option>Nancy</option>
<option>Nantes</option>
<option>Nice</option>
<option>PSG</option>
<option>Rennes</option>
<option>Saint-Etienne</option>
<option>Sochaux</option>
<option>Toulouse</option>
<option>Valenciennes</option>
</select>
</p>
<p>
<input type="submit" value="Envoyer">
</p>
</form>

_______________________________________________________________________________
Et le code PHP à force de modifier je me suis paumé donc ca commence par :
<?php
$adresse="mon@email.fr";
$from="From: $pseudo <$email>\r\n";

et fini par :

if (mail($adresse,$select,$tselect2,$tselect3,$from))
echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");


Entre les deux (je suppose que c'est là qu'il me manque mes paramètres je ne sais plus quoi mettre là ! je suis arrivé à avoir l'e-mail pendant un temps mais j'ai tellement modifié que j'ai tout perdu et impossible d'y revenir !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
deadmix Messages postés 145 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 30 mai 2014 29
14 oct. 2008 à 23:18
tpn traitement.php doit etre comme ça :

<?php
if(isset($_POST['submit'])) {
$to = "mon@email.fr";
$subject = "Met làobjet de message ici";
$name = $_POST['name'];
$E-mail = $_POST['E-mail'];
$select = $_POST['select'];
$select2 = $_POST['select2'];
$select3 = $_POST['select3'];

$body = "From: $name\n E-mail: $E-mail\n select: $select\n select2: $select2\n select3:\n $select3";

echo "<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>

-----------------
http://templates4all.blogspot.com
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
14 oct. 2008 à 23:23
Voici un truc tout simple qui devrait marcher :
<?php

//Vérifier que tous les champs ont été correctement remplis
$tvar=array($_POST['name'],$_POST['email'],$_POST['select'],$_POST['select2'],$_POST['select3']);
foreach($tvar as $var)
	{
	if(!isset($var) OR is_null($var))
		exit('Vous n\'avez pas rempli correctement le formulaire.');
	}

//Destinataire, sujet, expéditeur, message
$dest='my_email@example.net';
$sujet='Réponse au formulaire';
$header='From:'.$_POST["name"].' '.'<'.$_POST["email"].'>';
$msg='pseudo : '.$_POST["name"]."\r\n".'Equipe 1 : '.$_POST["select"]."\r\n".'Equipe 2 : '.$_POST["select2"]."\r\n".'Equipe 3 : '.$_POST["select3"];

//Envoi du mail
if(mail($dest,$sujet,$msg,$header))
	echo 'Le message a &eacute;t&eacute; transmis.';
else
	echo 'D&eacute;sol&eacute;, une erreur est survenue, le message n\'a pas &eacute;t&eacute; transmis.';

?>

Aussi j'ai remplacé la ligne 5 du formulaire (ça marchera pas si tu ne la modifie pas) :
<INPUT TYPE="text" NAME="email" SIZE="40">
0
Merci,

Par contre, Erreur sur la ligne 6 : $E-mail = $_POST['E-mail'];
0
Merci Yoan ! Ca marche impec ! :)
0