Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 08/02/2012, 03h38   #1
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 4
Points : 0
Points : 0
Par défaut Probleme formulaire PHP

Bonsoir à tous,
Je viens désespérément chercher du secours après trois jours de combat intensif avec un "$£€%+#" formulaire en html et php.
Je suis totalement débutant mais passionné et...d'ordinaire patient et obstiné, mais la, je craque...
Désireux d'insérer un formulaire dans mon site. J'ai parcouru des dizaines de tutos et autres sites conseils pour éclaircir le sujet.
J'ai copié des codes que j'ai tenté d'adapter.
J'ai donc actuellement deux pages, l'une nommée "contact.html" et l'autre "verif.php".
Seulemnt, lorsque j'envoie mon formulaire. j'ai le message d'erreur suivant : "Vous devez d'abord envoyer le formulaire".


Voici le code concernant le formulaire de "contact.html" :

Code html :
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
<div class="content">
<form id="contact" method="post" action="verif.php">
 
 
  <fieldset>
    <legend>Étape 1 : Vos coordonnées</legend>
    <ol>
      <li>
        <label for="nom">Nom</label>
        <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
        </li>
 
      <li>
        <label for="email">Email</label>
        <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
        </li>
 
      <li>
        <label for="telephone">Téléphone</label>
        <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
        </li>
 
      </ol>
 
    </fieldset>
 
 
  <fieldset>
    <legend>Étape 2 : Votre évènement</legend>
    <ol>
      <li>
        <label for="adresse">Adresse de votre manifestation</label>
        <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
        </li>
 
 
      <li>
        <label for="date">Date</label>
        <input id="date" name="date" type="text" required="required" />
        </li>
 
 
      <li>
        <label for="invit">Nbre d'invités</label>
        <textarea id="invit" name="invit" rows="1" ></textarea>
        </li>
 
      </ol>
 
    </fieldset>
 
  <fieldset>
    <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
 
    <ol>
      <li>
 
        <label for="comment">Commentaires</label>
        <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
        </li>
      </ol>
    </fieldset>
  <fieldset>
    <button type="submit">Envoyer</button> 
    </fieldset>
 
 
 
</p>
 
</form>





et voici le code de "verif.php" :
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
 
<?php
	/*
		********************************************************************************************
		CONFIGURATION
		********************************************************************************************
	*/
	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
	$destinataire = 'monmail@monmail.fr';
 
	// copie ? (envoie une copie au visiteur)
	$copie = 'non'; // 'oui' ou 'non'
 
	// Messages de confirmation du mail
	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'intérêt porté à notre formation. Nous vous répondrons dans les plus brefs délais";
	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
 
	// Messages d'erreur du formulaire
	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite.html>envoyer le formulaire</a>.";
	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
 
	/*
		********************************************************************************************
		FIN DE LA CONFIGURATION
		********************************************************************************************
	*/
 
	// on teste si le formulaire a été soumis
	if (!isset($_POST['envoi']))
	{
		// formulaire non envoyé
		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
	}
	else
	{
		/*
		 * cette fonction sert à nettoyer et enregistrer un texte
		 */
		function Rec($text)
		{
			$text = trim($text); // delete white spaces after & before text
			if (1 === get_magic_quotes_gpc())
			{
				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
			}
			else
			{
				$stripslashes = create_function('$txt', 'return $txt;');
			}
 
			// magic quotes ?
			$text = $stripslashes($text);
			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
			$text = nl2br($text);
			return $text;
		};
 
		/*
		 * Cette fonction sert à vérifier la syntaxe d'un email
		 */
		function IsEmail($email)
		{
			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
			return (eregi($pattern,$email)) ? true : false;
		};
 
		// formulaire envoyé, on récupère tous les champs.
		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
 
		// On va vérifier les variables et l'email ...
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
		if (($nom != '') && ($email != '') && ($telephone != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
		{
			// les 4 variables sont remplies, on génère puis envoie le mail
			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
 
			// envoyer une copie au visiteur ?
			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			};
 
			// Remplacement de certains caractères spéciaux
			$message = str_replace("'","'",$message);
			$message = str_replace("'","'",$message);
		    $message = str_replace("\"",'"',$message);
 
			$message = str_replace('<br>','',$message);
			$message = str_replace('<br />','',$message);
			$message = str_replace("&lt;","<",$message);
			$message = str_replace("&gt;",">",$message);
			$message = str_replace("&amp;","&",$message);
			// Envoi du mail
			if (mail($cible, $objet, $message, $headers))
			{
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			};
		}
		else
		{
			// une des 3 variables (ou plus) est vide ...
			echo '<p>'.$message_formulaire_invalide.' <a href="monsite.html">Retour au formulaire</a></p>'."\n";
		};
	}; // fin du if (!isset($_POST['envoi']))
?>


Pouvez vous s'il vous plait éclairer mes lanternes et me sortir de l'impasse...
D'avance merci
Salutations
manubam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 08h21   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Code :
if (!isset($_POST['envoi']))
Je ne vois pas de champ "envoi" dans ton formulaire, donc tu rentres toujours dans cette condition...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h30   #3
Membre expérimenté
 
Avatar de redoran
 
Homme
Developpeur- Amateur
Inscription : juin 2010
Messages : 989
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : Algérie

Informations professionnelles :
Activité : Developpeur- Amateur
Secteur : Santé

Informations forums :
Inscription : juin 2010
Messages : 989
Points : 581
Points : 581
Envoyer un message via Skype™ à redoran
Salam ; si cette partie que j'utilise pour vérifier mon formulaire essaye de l'adapter a ton forms
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
	$etat = "erreur"; // On initialise notre etat à erreur, il sera changé à "ok" si la vérification du formulaire est un succès, sinon il reste à erreur
 
	// On récupère les champs du formulaire, et on arrange leur mise en forme
	if (isset($_POST["ident"])) $_POST["ident"]=trim(stripslashes($_POST["ident"])); // trim()  enlève les espaces en début et fin de chaine
 
	if (isset($_POST["pass"])) $_POST["pass"]=trim(stripslashes($_POST["pass"])); // stripslashes()  retire les backslashes ==> \' devient '
 
	// Après la mise en forme, on vérifie la validité des champs
	if (empty($_POST["ident"])) { // L'utilisateur n'a pas rempli le champ pseudo
		$erreur=" Veuillez renseigner le champ identifiant..."; // On met dans erreur le message qui sera affiché
	}
	elseif (empty($_POST["pass"])) { // L'utilisateur n'a pas rempli le champ email
		$erreur=" Veuillez renseigner le champ Mot de passe...";
	}
	else { // Si tous les champs sont valides, on change l'état à ok
		$etat="ok";
	}
}
if ($etat!="ok"){ // Le formulaire a été soumis mais il y a des erreurs (etat=erreur) OU le formulaire n'a pas été soumis (etat=attente)
	if ($etat=="erreur"){ // Cas où le formulaire a été soumis mais il y a des erreurs
		echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n"; // On affiche le message correspondant à l'erreur
	}
NB/ ce n'est qu'une partie du code , il manque le retour du formulaire en cas d'erreur.
j'ai pas fini encore Ok
redoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 09h56   #4
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 4
Points : 0
Points : 0
Par défaut Ca progresse

Bonjour !!
Et merci Bovino!! Quel bonheur au réveil
Donc cette fois, c'est ok, je reçois bien le mail. Par contre, un soucis subsiste, le mail reçu est vide...
Je ne vois pas pourquoi...
Mon code à jour :

Concernant la page contact.html :
Code html :
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
<div class="content">
<form id="contact" method="post" action="verif.php">
 
 
  <fieldset>
    <legend>Étape 1 : Vos coordonnées</legend>
    <ol>
      <li>
        <label for="nom">Nom</label>
        <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
        </li>
 
      <li>
        <label for="email">Email</label>
        <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
        </li>
 
      <li>
        <label for="telephone">Téléphone</label>
        <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
        </li>
 
      </ol>
 
    </fieldset>
 
 
  <fieldset>
    <legend>Étape 2 : Votre évènement</legend>
    <ol>
      <li>
        <label for="adresse">Adresse de votre manifestation</label>
        <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
        </li>
 
 
      <li>
        <label for="date">Date</label>
        <input id="date" name="date" type="text" required="required" />
        </li>
 
 
      <li>
        <label for="invit">Nbre d'invités</label>
        <textarea id="invit" name="invit" rows="1" ></textarea>
        </li>
 
      </ol>
 
    </fieldset>
 
  <fieldset>
    <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
 
    <ol>
      <li>
 
        <label for="comment">Commentaires</label>
        <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
        </li>
      </ol>
    </fieldset>
  <fieldset>
    <button type="submit" name="envoi">Envoyer</button> 
    </fieldset>
 
 
 
</p>
 
</form>



et voici la partie php verif.php :
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
 
<?php
	/*
		********************************************************************************************
		CONFIGURATION
		********************************************************************************************
	*/
	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
	$destinataire = 'contact@monsite.com';
 
	// copie ? (envoie une copie au visiteur)
	$copie = 'non'; // 'oui' ou 'non'
 
	// Messages de confirmation du mail
	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
 
	// Messages d'erreur du formulaire
	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite/contact.html>envoyer le formulaire</a>.";
	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
 
	/*
		********************************************************************************************
		FIN DE LA CONFIGURATION
		********************************************************************************************
	*/
 
	// on teste si le formulaire a été soumis
	if (!isset($_POST['envoi']))
	{
		// formulaire non envoyé
		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
	}
	else
	{
		/*
		 * cette fonction sert à nettoyer et enregistrer un texte
		 */
		function Rec($text)
		{
			$text = trim($text); // delete white spaces after & before text
			if (1 === get_magic_quotes_gpc())
			{
				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
			}
			else
			{
				$stripslashes = create_function('$txt', 'return $txt;');
			}
 
			// magic quotes ?
			$text = $stripslashes($text);
			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
			$text = nl2br($text);
			return $text;
		};
 
		/*
		 * Cette fonction sert à vérifier la syntaxe d'un email
		 */
		function IsEmail($email)
		{
			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
			return (eregi($pattern,$email)) ? true : false;
		};
 
		// formulaire envoyé, on récupère tous les champs.
		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
 
		// On va vérifier les variables et l'email ...
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
		if (($nom != '') && ($email != '') && ($telephone != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
		{
			// les 4 variables sont remplies, on génère puis envoie le mail
			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
 
			// envoyer une copie au visiteur ?
			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			};
 
			// Remplacement de certains caractères spéciaux
			$message = str_replace("'","'",$message);
			$message = str_replace("'","'",$message);
			$message = str_replace("©","'",$message);
		    $message = str_replace("\"",'"',$message);
  $message = str_replace("é","'",$message);
			$message = str_replace('<br>','',$message);
			$message = str_replace('<br />','',$message);
			$message = str_replace("&lt;","<",$message);
			$message = str_replace("&gt;",">",$message);
			$message = str_replace("&amp;","&",$message);
			// Envoi du mail
			if (mail($cible, $objet, $message, $headers))
			{
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			};
		}
		else
		{
			// une des 3 variables (ou plus) est vide ...
			echo '<p>'.$message_formulaire_invalide.' <a href="monsite.com/contact.html">Retour au formulaire</a></p>'."\n";
		};
	}; // fin du if (!isset($_POST['envoi']))
?>
Merci d'avance
manubam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 12h28   #5
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 4
Points : 0
Points : 0
Par défaut Dur dur... Au secours

Suite à mon dernier post, je crois avoir compris que le problème du mail reçu vient de la balise header.
J'ai donc changé les valeurs de celle ci pour récupérer mes données dans mon mail. J'ai en meme temps ajouter à mon formulaire html une balise cachée "subject" pour avoir un objet au mail reçu.

Le problème... Je ne reçois plus rien du tout et je ne vois pas ou est l'erreur...
Code html mis à jour :
Code html :
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
<div class="content">
<form id="contact" method="post" action="verif.php">
 
 
  <fieldset>
    <legend>Étape 1 : Vos coordonnées</legend>
    <ol><li><INPUT TYPE="hidden" input id="subject" name="subject" VALUE="devis_soledad"></li>
      <li>
        <label for="nom">Nom</label>
        <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
        </li>
 
      <li>
        <label for="email">Email</label>
        <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
        </li>
 
      <li>
        <label for="telephone">Téléphone</label>
        <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
        </li>
 
      </ol>
 
    </fieldset>
 
 
  <fieldset>
    <legend>Étape 2 : Votre évènement</legend>
    <ol>
      <li>
        <label for="adresse">Adresse de votre manifestation</label>
        <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
        </li>
 
 
      <li>
        <label for="date">Date</label>
        <input id="date" name="date" type="text" required="required" />
        </li>
 
 
      <li>
        <label for="invit">Nbre d'invités</label>
        <textarea id="invit" name="invit" rows="1" ></textarea>
        </li>
 
      </ol>
 
    </fieldset>
 
  <fieldset>
    <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
 
    <ol>
      <li>
 
        <label for="comment">Commentaires</label>
        <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
        </li>
      </ol>
    </fieldset>
  <fieldset>
    <button type="submit" name="envoi">Envoyer</button> 
    </fieldset>
 
 
 
</p>
 
</form>

et voici mon code de ma page php mis à jour :
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
 
 
<?php
	/*
		********************************************************************************************
		CONFIGURATION
		********************************************************************************************
	*/
	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
	$destinataire = 'monmail@mail.com';
 
	// copie ? (envoie une copie au visiteur)
	$copie = 'non'; // 'oui' ou 'non'
 
	// Messages de confirmation du mail
	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
 
	// Messages d'erreur du formulaire
	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite/contact.html>envoyer le formulaire</a>.";
	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
 
	/*
		********************************************************************************************
		FIN DE LA CONFIGURATION
		********************************************************************************************
	*/
 
	// on teste si le formulaire a été soumis
	if (!isset($_POST['envoi']))
	{
		// formulaire non envoyé
		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
	}
	else
	{
		/*
		 * cette fonction sert à nettoyer et enregistrer un texte
		 */
		function Rec($text)
		{
			$text = trim($text); // delete white spaces after & before text
			if (1 === get_magic_quotes_gpc())
			{
				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
			}
			else
			{
				$stripslashes = create_function('$txt', 'return $txt;');
			}
 
			// magic quotes ?
			$text = $stripslashes($text);
			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
			$text = nl2br($text);
			return $text;
		};
 
		/*
		 * Cette fonction sert à vérifier la syntaxe d'un email
		 */
		function IsEmail($email)
		{
			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
			return (eregi($pattern,$email)) ? true : false;
		};
 
		// formulaire envoyé, on récupère tous les champs.
		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
 
		// On va vérifier les variables et l'email ...
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
		if (($nom != '') && ($email != '')  && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
		{
			// les 4 variables sont remplies, on génère puis envoie le mail
		$headers = "'Content-type: 'text/plain'; charset='iso-8859-1' \r\n";
		$headers = 'From: '.$nom.'subject: '.$subject.'<'.$email.'>'.$telephone.''.$adresse.''.$date.''.$invit.''.$comment.'>'."\r\n";
 
 
 
			// envoyer une copie au visiteur ?
			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			};
 
			// Remplacement de certains caractères spéciaux
			$message = str_replace("'","'",$message);
			$message = str_replace("'","'",$message);
			$message = str_replace("©","'",$message);
		        $message = str_replace("\"",'"',$message);
                        $message = str_replace("é","'",$message);
			$message = str_replace('<br>','',$message);
			$message = str_replace('<br />','',$message);
			$message = str_replace("&lt;","<",$message);
			$message = str_replace("&gt;",">",$message);
			$message = str_replace("&amp;","&",$message);
			// Envoi du mail
			if (mail($cible, $objet, $message, $headers))
			{
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			};
		}
		else
		{
			// une des 3 variables (ou plus) est vide ...
			echo '<p>'.$message_formulaire_invalide.' <a href="www.monsite/contact.html">Retour au formulaire</a></p>'."\n";
		};
	}; // fin du if (!isset($_POST['envoi']))
?>
manubam 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 20h55.


 
 
 
 
Partenaires

Hébergement Web