Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 20h01   #1
Invité de passage
 
Inscription : mai 2008
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 37
Points : 3
Points : 3
Par défaut mail via un formulaire

Bonjour,

voilà, j'ai créé un formulaire où les données de l'utilisateur seront envoyées dans un mail.

Le script ne marche toujours pas malgré que je ne vois pas d'erreurs!
merci de bien vouloir m'aider.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 
						<?php if ((empty($_POST["email"]))||(empty($_POST["nom"]))||(empty($_POST["prenom"]))||(empty($_POST["cp"]))||(empty($_POST["ville"]))||(empty($_POST["telephone"]))||(empty($_POST["adresse"]))||(!preg_match("#@#",$_POST['email']))||(empty($_POST["message"]))) {?>
 
						<form method="post" action="">
						<p class="titre">Coordonnées</p>
			  <fieldset id="coordonnees">
 
							<p>
 
								<input type="radio" name="civilite" value="M." />M.
								<input type="radio" name="civilite" value="Mlle" />Mlle
								<input type="radio" name="civilite" value="Mme" />Mme
 
								<?php if (isset ($_POST['civilite'])){
								echo $_POST['civilite']; }?>
 
 
							</p>
 
							<p> *Nom: 
								<input type="text" name="nom" class="fenetre" value="<?php
								if(isset($_POST['nom'])) {
								echo $_POST['nom'] ; }?>" />	<strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['nom']))){
									echo "Veuillez indiquer votre nom <br />";}?> </strong>
							</p>
 
 
							<p> *Prénom: 					
 
								<input type="text" name="prenom" class="fenetre" value="<?php
								if(isset($_POST['prenom'])) {
								echo $_POST['prenom'] ; }?>" /><strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['prenom']))){
									echo "Veuillez indiquer votre prénom <br />";}?> </strong>
							</p>
 
 
							<p> *Adresse:   
								<input type="text" name="adresse" class="fenetre" value="<?php 
								if(isset($_POST['adresse'])) {
								echo $_POST['adresse'] ; }?>" />	<strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['adresse']))){
								echo "Veuillez indiquer votre adresse <br />";}?> </strong>
							</p>
 
							<p> *Ville:   
								<input type="text" name="ville" class="fenetre" value="<?php 
								if(isset($_POST['ville'])) {
								echo $_POST['ville'] ; }?>" />	<strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['ville']))){
								echo "Veuillez indiquer votre ville <br />";}?> </strong>
							</p>
 
 
 
							<p> *Téléphone:   
								<input type="text" name="telephone" class="fenetre" value="<?php
								if(isset($_POST['telephone'])) {
								echo $_POST['telephone'] ; }?>" /><strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['telephone']))){
									echo "Veuillez indiquer votre téléphone <br />";}?> </strong>
 
							</p>
 
						<p>	*E-Mail:   
								<input type="text" name="email" class="fenetre" value="<?php
								if(isset($_POST['email'])) {
								echo $_POST['email'] ; }?>" /><strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['email']))){
									echo "Veuillez indiquer votre mail<br />";}?>
										<?php  if ((isset($_POST['envoyer']))&&(!preg_match("#@#", $_POST['email']))){
									echo "Adresse mail invalide<br />";}?></strong> <br /><br /><br />
						</p>	
 
		</fieldset>
 
 
 
								<p class="titre">Message</p>
 
							 <fieldset id="message">
							<p>  Objet:
 
 
 
										<select class="fenetre" name="objet">
											<option class="fenetre" value="renseignements"> Demande de devis</option>
											<option class="fenetre" value="commande"> Commande</option>
											<option class="fenetre" value="contact"> Contact</option>
 
										<?php if (isset ($_POST['objet'])){
										echo $_POST['objet'];} ?>
 
										</select>
							</p>
 
 
							<p> Tapez votre message <br />
								<textarea class="fenetre" name="message" cols="60" rows="5">
								<?php 	
											if(isset($_POST['message'])){
											echo $_POST['message'];} ?>
								</textarea>
							</p>
							<p class="titre"><a style="text-decoration:none;color:#f15d27;" href="accueil.html"> Accueil</a></p>
 
       </fieldset>
 
 
							<p id="buttons"><input name="envoyer" type="submit" value="envoyer" /> 
							<a style="background:#f58551;
							color:#000000;
							border:2px outset #f15e27;
  fontsize:1.2em;"
  href="contact.php">Effacer le message</a>  </p>  	
 
 
								<p>
									<strong class="styleX"><?php  if ((isset($_POST['envoyer']))&&(empty($_POST['message']))){
									echo "Message vide!! <br />";}?></strong>
								</p>
 
				</form>
 
 
 
							<?php  } else { 
										$email= $_POST['email'];
										$civilite= $_POST['civilite'];
										$nom= $_POST['nom'];
										$prenom=" ".$_POST['prenom'];
										$adresse= $_POST['adresse'];
										$ville=$_POST['ville'];										
										$telephone= $_POST['telephone'];
										$objet= $_POST['objet'];
										$message=$_POST['message'];
 
      mail(
 
      'ulrich.vallee@yahoo.fr',
 
      'objet',
 
"
$civilite $nom $prenom 
 $adresse $ville $cp 
  $telephone 
 $objet 
 $message $entetemail" 
  ); }?>
serpolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 20h53   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Est-ce que tu peux nous mettre un code un peu moins "aeré" parce que la c'est dur a suivre

Sinon est-ce que ton code etait bien executé de bout en bout en passant tous les controles ?

Apparement tu n'as pas defini les en-tetes dans ton fonction mail()
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 08h34   #3
Membre actif
 
Avatar de BlackSmith
 
Inscription : mars 2008
Messages : 181
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2008
Messages : 181
Points : 186
Points : 186
Voici la liste des erreurs ou incoherence présente dans ton code:
Ton code php est mal placé ici, il faudrai qu'il soit dans une balise option
Code :
1
2
3
4
5
6
7
<select class="fenetre" name="objet">
  <option class="fenetre" value="renseignements"> Demande de devis</option>
  <option class="fenetre" value="commande"> Commande</option>
  <option class="fenetre" value="contact"> Contact</option>
 
  <?php if (isset ($_POST['objet'])){echo $_POST['objet'];} ?>
</select>
Un bouton de type reset fonctionne aussi
Code :
<a style="background:#f58551;color:#000000;border:2px outset #f15e27;fontsize:1.2em;" href="contact.php">Effacer le message</a>
Je te conseil de verifier les valeur présentes dans les champs post avant d'envoyer un email. et il y a une erreur au niveau de $enteteemail : il s'agit du 4ème paramètre et ne doit pas être dans le 3ème avec le contenu du mail.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$email= $_POST['email'];
$civilite= $_POST['civilite'];
$nom= $_POST['nom'];
$prenom=" ".$_POST['prenom'];
$adresse= $_POST['adresse'];
$ville=$_POST['ville'];										
$telephone= $_POST['telephone'];
$objet= $_POST['objet'];
$message=$_POST['message'];
mail('ulrich.vallee@yahoo.fr','objet',"$civilite $nom $prenom $adresse $ville $cp $telephone $objet $message $entetemail" ); }?>
BlackSmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 11h26   #4
Invité de passage
 
Inscription : mai 2008
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 37
Points : 3
Points : 3
Merci pour tous ces renseignements, mais je ne vois pas en tout cas par rapport à ce que vous m'avez dit ce qui empêcherait l'envoi du mail...

Ce ne sont que de petits détails qui sont certes utiles, mais je ne crois vraiment pas que ces rectifications changeront quelque chose!

Merci d'avance pour de nouvelles réponses!
serpolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 11h30   #5
Membre actif
 
Avatar de BlackSmith
 
Inscription : mars 2008
Messages : 181
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2008
Messages : 181
Points : 186
Points : 186
Le problème de l'envoie du mail viens de la derniere ligne de ton code source, il faux que tu deplace $entetemail apres la chaine de caractère pour en faire un 4ème paramètre pour la fonction mail.
BlackSmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 11h36   #6
Membre éclairé
 
Inscription : septembre 2006
Messages : 459
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2006
Messages : 459
Points : 375
Points : 375
Envoyer un message via MSN à fucce
Que contient ton $entetemail? Pour moi, ce champ devrait être le 4ème paramètre de la fonction mail()...
Code :
1
2
 
mail('ulrich.vallee@yahoo.fr','objet',"$civilite $nom $prenom $adresse $ville $cp $telephone $objet $message", $entetemail);
http://fr.php.net/manual/fr/function.mail.php

EDIT : Plus rapide BlackSmith!!
fucce est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h02.


 
 
 
 
Partenaires

Hébergement Web