Bonjour,

Je suis occupé de mettre en place un fomulaire html qui fonctionne très bien dans lequel, les invités doivent y laisser des données et une pièce jointe.
Quand je click sur envoie les données sont bien transférér vers le code php pour l'envoie du mail.

Mais le fichier joint n'est pas transféré .

Pouvez-vous m'aider ?

la variable $scan est le fichier à transférer.

Je vous joint le code html et php

HTML:
Code html : 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
 
<html>
<!-- Date de création: 06/02/2008 -->
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  <title></title>
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta name="author" content="Usager non enregistre">
  <meta name="generator" content="monsoft"
</head>
<body>
<form method="post" action="envoimail.php" name="formulaire">
 
    Nom : <input name="nom" size="30" maxlength="50" type="text">
 
    <br /><br />
    Prénom : <input name="prenom" size="30" maxlength="50" type="text"><br /><br />
 
    E-mail : <input name="mail" size="30" maxlength="50" type="text"><br /><br />
 
    Commentaires :
    <textarea name="commentaires" cols="30" rows="6" wrap="soft"></textarea><br /><br />
 
	Fichier : <input name="scan" size="40" maxlength="60" type="file"><br /><br />
 
    <input name="bouton" value="Envoyer" type="submit">
 
    </form> 
</body>
</html>

et le code 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
 
<?php
 
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$mail = $_POST['mail'];
$commentaires= $_POST['commentaires'];
$scan=$_post['scan'];
 
 
//=====Déclaration des messages au format texte et au format HTML
$message_txt ="Nom : ";
$message_html = "<html><head></head><body><b>Données pour la demande d'accès</b>,<br><br> <b>Nom :</b> $nom <br> <b>Prenom :</b> $prenom <br> <b>Email: </b> $mail </body></html>";
//==========
 
//=====Lecture et mise en forme de la pièce jointe
$fichier   = fopen($scan, "r");
$attachement = fread($fichier, filesize($scan));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);
//==========
 
//=====Création de la boundary
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//==========
 
//=====Définition du sujet
$sujet = "Hey mon ami !";
//=========
 
//=====Création du header de l'e-mail
$header = "From: \"WeaponsB\"<.....@skynet.be>\n";
$header.= "Reply-to: \"WeaponsB\" <......@skynet.be>\n";
$header.= "MIME-Version: 1.0\n";
$header.= "Content-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
//==========
 
//=====Création du message
$message = "\n--".$boundary."\n";
$message.= "Content-Type: multipart/alternative;\n boundary=\"$boundary_alt\"\n";
$message.= "\n--".$boundary_alt."\n";
//=====Ajout du message au format texte
$message.="Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_txt."\n";
//==========
 
$message.= "\n--".$boundary_alt."\n";
 
//=====Ajout du message au format HTML
$message.="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_html."\n";
//==========
 
//=====On ferme la boundary alternative
$message.= "\n--".$boundary_alt."--\n";
//==========
 
 
 
$message.= "\n--".$boundary."\n";
 
//=====Ajout de la pièce jointe
$message.= "Content-Type: application/pdf;\n name=\"$scan\"\n";
$message.= "Content-Transfer-Encoding: base64\n";
$message.= "Content-Disposition: attachment;\n filename=\"$scan\"\n";
$message.= "\n".$attachement."\n\n";
$message.= "\n--".$boundary."--\n"; 
//========== 
//=====Envoi de l'e-mail
mail("......@hotmail.com",$sujet,$message,$header);
 
//==========
?>