Bonjour, etant un novice en PHP j'ai regardé une dixaine de tuto pour creer un ajout de pièces jointes multiple, et cela finissait toujours par un echec. J'ai vraiment besoin de votre aide SVP. Que dois-je ajouter a mon code pour créer ceci. Merci d'avance.


Voici le formulaire en html :

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
 
    <form id="contact" method="post" action="traitement_formulaire.php">
<fieldset>
  <p><legend>Vos coordonn&eacute;es</legend><br /></p>
 
  <p> 
      Civilit&eacute;* :
      <input name="civilite" type="radio" id="Mr" value="Mr" /> Mr
      <input name="civilite" type="radio" id="Mme" value="Mme" /> Mme
      <input name="civilite" type="radio" id="Mlle" value="Mlle" /> Mlle
  </p>
 
 
 
  <p><label for="nom">Nom* :</label><input type="text" id="nom" name="nom"  /></p>
  <p><label for="prenom">Pr&eacute;nom :</label><input type="text" id="prenom" name="prenom"  /></p>
  <p><label for="societe">Soci&eacute;t&eacute;* :</label><input type="text" id="societe" name="societe"  /></p>
  <p><label for="tel">T&eacute;l&eacute;phone :</label><input type="text" id="tel" name="tel"  /></p>
  <p><label for="fax">Fax :</label><input type="text" id="fax" name="fax"  /></p>
  <p><label for="email">Email* :</label><input type="text" id="email" name="email"  /></p>
  <p><label for="adresse">Adresse :</label><input type="text" id="adresse" name="adresse"  /></p>
  <p>
    <label for="cp">Code postal* :</label>
    <input type="text" id="cp" name="cp"  /></p>
  <p><label for="ville">Ville :</label><input type="text" id="ville" name="ville"  /></p>
 
   <p> 
      Type(s) de produit(s)* :
      <input name="produit" type="radio" id="filtre" value="Filtre" /> Filtre(s)
      <input name="produit" type="radio" id="element_de_montage"value="Element de montage" /> El&eacute;ment(s) de montage
      <input name="produit" type="radio" id="les2" value="Filtre et  Element de montage" /> Les deux
  </p>
 
  <p><br />Votre demande* :</p>
  <p><textarea id="demande" name="demande"  cols="65" rows="8"></textarea></p>
  <p><input name="fichier" type="file" /></p>
 
</fieldset>
 
    <div ><p>Les champs marqu&eacute;s d'un * sont obligatoires
  <input type="submit" name="envoi" value="Envoyer la demande de devis !" /></p> </div>
    </form>

Et voici le 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
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
146
147
148
149
150
151
 
    <?php
    /*
    ********************************************************************************************
    CONFIGURATION
    ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = 'monmail@monmail.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 ! 
	                    Une copie de votre demande vous a &eacute;t&eacute; envoy&eacute; par email.
					    Revenir sur la <a href=\"accueil.html\">page d'accueil</a>.";
    $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&eacute;rifiez que tous les champs marqu&eacute;s d'un * soient bien remplis et que l'email soit sans erreur.";
 
	// autre
	$objet = 'Demande de devis : '.$societe.'' ;
    /*
    ********************************************************************************************
    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.
    $civilite= (isset($_POST['civilite'])) ? Rec($_POST['civilite']) : '';
	$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
	$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
	$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
	$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
    $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
	$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
	$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
	$produit = (isset($_POST['produit'])) ? Rec($_POST['produit']) : '';
    $demande = (isset($_POST['demande'])) ? Rec($_POST['demande']) : '';
 
    // 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é
    // Ces variables sont obligées d'être rempli sinon erreur
    if (($civilite != '') && ($nom != '') && ($societe != '') && ($email != '') && ($cp != '') && ($produit != '') && ($demande!= ''))
    {
    // les 4 variables sont remplies, on génère puis envoie le mail
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'From: '.$civilite.' '." ".' '.$nom.' <'.$email.'>' . "\r\n" .
	$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
    $headers .='Content-Transfer-Encoding: 8bit';  
 
    'Reply-To:'.$email. "\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);
	// afficher les accents
 
	$demande = str_replace("à","&agrave;",$demande);
	$demande = str_replace("è","&egrave;",$demande);
	$demande = str_replace("é","&eacute;",$demande);
 
    $message ='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
    $message .='Content-Transfer-Encoding: 8bit';  
 
	$message = 'DEMANDE DE DEVIS'."\n".
	           ''."\n".
	           '<br/><br/>Nom : <span  style="color: #990000" >'.$civilite.''." ".''.$nom.'</span>'."\n". 
			   '<br/>Pr&eacute;nom : <span  style="color: #990000" > '.$prenom.'</span>'."\n".
			   '<br/>Soci&eacute;t&eacute; : <span  style="color: #990000" > '.$societe.'</span>'."\n".  
			   '<br/>T&eacute;l&eacute;phone : <span  style="color: #990000" > '.$tel.'</span>'."\n".
			   '<br/>Fax : <span  style="color: #990000" > '.$fax.'</span>'."\n".  
			   '<br/>Email : <span  style="color: #990000" > '.$email.'</span>'."\n".
			   '<br/>Adresse : <span  style="color: #990000" > '.$adresse.'</span>'."\n".
			   '<br/>Code postal : <span  style="color: #990000" > '.$cp.'</span>'."\n".
			   '<br/>Ville : <span  style="color: #990000" > '.$ville.'</span>'."\n".
			   '<br/>Type de produit(s) : <span  style="color: #990000" > '.$produit.'</span>'."\n".
			   ''."\n".
			   '<br/><br/>La demande : <span  style="color: #990000" > '."".''."\n".
			   '<br/>  '.$demande.'</span>';
 
    // 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="javascript:history.back()">Retour</a></p>'."\n";
    };
    }; // fin du if (!isset($_POST['envoi']))
    ?>
Merci !!