Bonjour à tous,
Je retape actuellement un site qui contient une page contenant un formulaire incluant l'ajout d'une pièce jointe.
J'ai cherché sur Internet pendant des heures, trouvant diverses pages me proposant des solutions que j'ai tenté d'adapter à mes besoins, mais je n'y parvient simplement pas.
j'ai notamment trouvé cette page : http://a-pellegrini.developpez.com/t...php/mail/#L3.4
que je l'ai transformé en :
Et voici 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 <? // Récupération des information du formulaire $to = 'adresse-du-destinataire@domaine.com'; $name = $_POST['name']; $from = $_POST['from']; $tel = $_POST['tel']; $object = $_POST['object']; $contenu = $_POST['contenu']; // clé aléatoire de limite $boundary = md5(uniqid(microtime(), TRUE)); // Headers $headers = 'From: '.$from."\r\n"; $headers .= 'Mime-Version: 1.0'."\r\n"; $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n"; $headers .= "\r\n"; // Message HTML $msg = '--'.$boundary."\r\n"; $msg .= 'Content-type: text/html; charset=\"iso-8859-1\"'."\r\n\r\n"; $msg .= 'Nom : '.$name."<br>"; $msg .= 'Tél : '.$tel."<br><br>"; $msg .= $contenu."\r\n"; // Pièce jointe 1 $file_name = $_FILES['piece_jointe']; if (file_exists($file_name)) { $file_type = filetype($file_name); $file_size = filesize($file_name); $handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open'); $content = fread($handle, $file_size); $content = chunk_split(base64_encode($content)); $f = fclose($handle); $msg .= '--'.$boundary."\r\n"; $msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n"; $msg .= 'Content-transfer-encoding:base64'."\r\n\r\n"; $msg .= $content."\r\n"; } // Fin $msg .= '--'.$boundary."\r\n"; // Function mail() mail($to, $object, $msg, $headers);
Mais cela ne fonctionne pas. Le mail est bien envoyé avec toutes les données, mais la pièce jointe n'apparaît pas. Pourriez-vous m'aider à trouver mon/mes erreur(s) et me dire ce que je dois modifier pour que le formulaire fonctionne pour l'envoie de fichiers (.doc, .pdf ou autre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <form id='soumission' method="post" enctype="multipart/form-data" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>"> <label for="name">Votre nom</label><input type="text" name="name" id="name" size="25" value="<?php echo( $name ); ?>" /> <label for="mail">Votre adresse mail</label><input type="text" name="from" id="from" size="25" value="<?php echo( $from ); ?>" /> <label for="tel">Votre téléphone</label><input type="text" name="tel" id="tel" size="25" value="<?php echo( $tel ); ?>" /> <label for="object">Objet</label><input type="text" name="object" id="object" size="25" value="<?php echo( $object ); ?>" /> <label for="contenu">Message</label><textarea name="contenu" id="contenu" rows="10" cols="70"><?php echo( $contenu ); ?></textarea> <label for="fichier">Piece jointe</label><input type="file" name="piece_jointe" id="piece_jointe" /> <input type="reset" name="reset" value="Effacer" /><input type="submit" name="send" value="Envoyer" /> </form>
D'avance un grand merci de votre aide
Thufir Hawat
Partager