Bonsoir,

Je suis tout nouveau en PHP et je galère un peu... J'ai un formulaire HTML que je souhaite envoyer par mail avec un script PHP.

Voici mon formulaire de départ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form class="form" id="form1" name="formulaire"  > <!-- onsubmit="check();" method="post" action="traitement_formulaire.php"-->
 
						<p class="name">
							<span id="name-error" class="erreur">Veuillez saisir votre nom</span>
							<input name="nom" type="text" onblur="check_nom()" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Nom" id="name" />
						</p>
 
						<p class="email">
							<span id="email-error" class="erreur">Le mail est incorrect</span>
							<input name="email" onblur="check_mail()" type="text" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" />							
						</p>
 
						<p class="message">
							<span id="comment-error" class="erreur">Veuillez saisir votre message</span>
							<textarea name="text" onblur="check_comment()" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Votre message"></textarea>							
						</p>
 
 
						<div class="submit">
							<input type="submit" value="ENVOYER LE MESSAGE" id="button-blue"/>
							<div class="ease"></div>
						</div>
					</form>
Et pour le script PHP, je me suis basé sur un exemple trouvé sur internet.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
    <?php
    /*
    	********************************************************************************************
    	CONFIGURATION
    	********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = 'webmaster@mon-site.com';
 
    // copie ? (envoie une copie au visiteur)
    $copie = 'oui'; // 'oui' ou 'non'
 
    // Messages de confirmation du mail
    $message_envoye = "Votre message nous est bien parvenu !";
    $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=\"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 = htmlspecialchars(trim($text), ENT_QUOTES);
    		if (1 === get_magic_quotes_gpc())
    		{
    			$text = stripslashes($text);
    		}
 
    		$text = nl2br($text);
    		return $text;
    	};
 
    	/*
    	 * Cette fonction sert à vérifier la syntaxe d'un email
    	 */
    	function IsEmail($email)
    	{
    		$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
    		return (($value === 0) || ($value === false)) ? false : true;
    	}
 
    	// formulaire envoyé, on récupère tous les champs.
    	$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    	$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    	$message = (isset($_POST['text'])) ? Rec($_POST['text']) : '';
 
    	// 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 != '') && ($message != ''))
    	{
    		// les 4 variables sont remplies, on génère puis envoie le mail
    		$headers  = 'MIME-Version: 1.0' . "\r\n";
    		$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
    				'Reply-To:'.$email. "\r\n" .
    				'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
    				'Content-Disposition: inline'. "\r\n" .
    				'Content-Transfer-Encoding: 7bit'." \r\n" .
    				'X-Mailer:PHP/'.phpversion();
 
    		// 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("&quot;",'"',$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
    		$num_emails = 0;
    		$tmp = explode(';', $cible);
    		foreach($tmp as $email_destinataire)
    		{
    			if (mail($email_destinataire, $message, $headers))
    				$num_emails++;
    		}
 
    		if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
    		{
    			echo '<p>'.$message_envoye.'</p>';
    		}
    		else
    		{
    			echo '<p>'.$message_non_envoye.'</p>';
    		};
    	}
    	else
    	{
    		// une des 3 variables (ou plus) est vide ...
    		echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
    	};
    }; // fin du if (!isset($_POST['envoi']))
    ?>


Je me retrouve sans aucun message ni mail envoyé avec les caractères "nom=&email=&text=&envoi=ENVOYER+LE+MESSAGE" qui apparaissent dans l'URL.