Bonjour,

Je travaille sur un formulaire html, j'ai fait un fichier traitement.php.

Sur le principe, ça fonctionne dans la mesure où le mail part.
Dans la pratique il faudrait que la partie validation du script fonctionne. Mais là, je commence à sécher. Pourriez-vous m'aider SVP ?

Mon formulaire :
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
 
<form name="contact_part" method="post" action="traitement.php">
    <table style="border-color: rgb(0, 0, 0); background-color: rgb(255, 204, 153); width: 100%;">
    <tbody>
      <tr>
        <td width="50%"><label>Votre nom(*):&nbsp;</label></td>
        <td><input name="nom" id="nom" size="30" type="text" /></td>
      </tr>
      <tr>
        <td><label>Votre pr&eacute;nom (*) :&nbsp;</label></td>
        <td><input name="prenom" id="prenom" size="30" type="text" /></td>
      </tr>
      <tr>
        <td><label>Votre soci&eacute;t&eacute; :&nbsp;</label></td>
        <td><input name="societe" id="societe" size="30" type="text" /></td>
      </tr>
      <tr>
        <td><label>Sujet du message (*) :</label></td>
        <td>    
			<select name="sujet">
				<option value="choix" selected="selected">S&eacute;lectionner un th&egrave;me</option>
				<option value="Question sur le Portage Salarial">Questions sur le Portage Salarial </option>
				<option value="Question sur le site">Questions sur le site</option>
				<option value="CNIL et Droit d'acc&amp;eagrave;s">CNIL Droit d'acc&egrave;s</option>
			</select>
        </td>
      </tr>
      <tr>
        <td><label>Votre t&eacute;l&eacute;phone (*) :&nbsp;</label></td>
        <td><input name="telephone" id="telephone" size="30" type="text" /></td>
      </tr>
      <tr>
        <td><label>Votre courriel (*) :</label></td>
        <td><input name="courriel" id="courriel" size="30" type="text" /></td>
      </tr>
      <tr>
        <td><label>Votre message (*) :</label></td>
        <td><textarea name="message" cols="40" rows="8" id="texte">Inscrivez ici votre message.</textarea><br />
					(*) Mentions obligatoires</td>
      </tr>
      <tr>
        <td></td>
        <td>      
        <table style="width: 100%;" border="0" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td colspan="2" rowspan="1">&nbsp;</td>
            </tr>
            <tr>
              <td style="text-align: center; vertical-align: middle; background-color: rgb(255, 204, 153);">
				<input name="annuler" value="Annuler" type="reset" /></td>
              <td text-align="" center=""> <input name="soumettre" value="Envoyer" type="submit" /></td>
            </tr>      
          </tbody>
        </table>
        </td>
      </tr>
    </tbody>
    </table>
</form>
Mon script php:
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
 
<?php
//Si le formulaire est envoyé alors on fait les traitement
if (isset($_POST['soumettre']))
{
 
	//Récupération des valeurs des champs du formulaire
	if (get_magic_quotes_gpc())
	{
		$nom = stripslashes($_POST['nom']);
		$prenom = stripslashes($_POST['prenom']);
		$telephone = stripslashes($_POST['telephone']);
		$mail = stripslashes($_POST['courriel']);
		$objet = stripslashes($_POST['sujet']);
		$message = stripslashes($_POST['message']);
	}
	else
	{
		$nom = trim($_POST['nom']);
		$prenom = trim($_POST['prenom']);
		$telephone = trim($_POST['telephone']);
		$mail = trim($_POST['courriel']);
		$objet = trim($_POST['sujet']);
		$message = trim($_POST['message']);
	}
 
	//vérificarion du format de l'adresse mail
	$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
 
	//vérification qu'aucun en-tête n'est inséré dans le champ
	$regex_head = '/[n\r]';
 
	//Si le formulaire n'est pas envoyé depuis notre site on renvoie en page d'accueil
	if ($_SERVER['HTTP_REFERER'] != 'http://www.dorhel.fr/traitement.php')
	{
		header('Location: http://www.dorhel.fr');
	}
 
	elseif (empty($nom)
			||empty($prenom)
			||empty($telephone)
			||empty($objet)
			||empty($message))
	{
		$alert = 'Tous les champs obligatoires doivent être renseignés';
	}
 
	//vérification format expéditeur
 
	elseif (!preg_match($regex_mail, $mail))
	{
		$alert = 'L\'adresse '.$mail.' n\'est pas valide';
	}
 
	elseif (preg_match($regex_head, $mail)
			||preg_match($regex_head, $nom)
			||preg_match(regex_head, $prenom)
			||preg_match($regex_head, $telephone)
			||preg_match($regex_head, $message))
	{
		$alert = 'En-têtes interdites dans les champs de ce formulaire';
	}
 
	//si aucun problème et aucun cookie n'est créé, contruction du mail et envoi
 
		//Destinatiare du mail : 
		$destinataire="adressemail1";
 
		// En-tête du mail
			//voici la version Mine
			$headers = 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
			$headers .='Content-Transfer-Encoding: 8bit';
			//ici on détermine le mail en format text
			$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
			//ici on détermine l'expediteur et l'adresse de réponse
			$headers .= "From: $nom $prenom<$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
 
		$subject="$objet"; 
//$body="$message"; 
 
		//construction du message
		$msg  = 'Bonjour,'."\r\n\r\n";
		$msg .= 'Ce mail a été envoyé depuis http://www.dorhel.fr par '.$nom.' '.$prenom."\r\n\r\n";
		$msg .= 'Ses coordonnées téléphoniques : '.$telephone."\r\n\r\n";
		$msg .= 'Courriel : '.$mail."\r\n\r\n";
		$msg .= 'Voici le message qui vous est adressé :'."\r\n";
		$msg .= "\r\n\r\n";
		$msg .= stripslashes($message)."\r\n";
		$msg .= "\r\n\r\n";
 
		//Envoi du mail
		if (mail($destinataire, $subject,$msg, $headers))
		{
			header("Location:http://www.dorhel.fr/ar_form.html");
		}
		else 
		{
		$alert = 'Erreur';
		}
}
?>