Page 1 sur 1

formulaire + piece jointe

Posté : 21 nov. 2010, 14:14
par sampla
bonjour
j'arrive pas intégré un bout de code permettant l'envoi de PJ

mon code d'origine est pour form.htm

Code : Tout sélectionner

<FORM method="POST" action="do_sendform.php"> <INPUT type="text" name="sender_name" size=30> <INPUT type="text" name="sender_email" size=30> <textarea name="message" cols=30 rows=5></textarea> <INPUT type="submit" value="Send This Form">
qui pointe do_sendform.php pour l'envoi

Code : Tout sélectionner

<?php $msg = "Sender Name:\t$sender_name\n"; $msg .= "Sender E-Mail:\t$sender_email\n"; $msg .= "Message:\t$message\n\n"; $recipient = "[email protected]"; $subject = "Web Site Feedback"; $mailheaders = "From: My Web Site <> \n"; $mailheaders .= "Reply-To: $sender_email\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<HTML><HEAD>"; echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>"; echo "<H1 align=center>Thank You, $sender_name</H1>"; echo "<P align=center>"; echo "Your feedback has been sent.</P>"; echo "</BODY></HTML>"; ?>
et dans tout ça je voudrais integré juste

de quoi envoyer une piece jointe

Code : Tout sélectionner

<form method="post" enctype="multipart/form-data" action="upload.php"> <input type="file" name="fichier" size="30"> <input type="submit" name="upload" value="Uploader"> </form>
voici le code php que j'ai trouvé pour envoyer la PJ

Code : Tout sélectionner

<?php if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = 'upload/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie maintenant l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'pdf') && !strstr($type_file, 'doc') && !strstr($type_file, 'htm') && !strstr($type_file, 'html') && !strstr($type_file, 'mp3') && !strstr($type_file, 'txt') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas autorisé"); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier le fichier dans $content_dir"); } echo "Le fichier a bien été uploadé"; } ?>
donc ma question est comment intégré tout ca en un seul bloc

Merci

Re: formulaire + piece jointe

Posté : 21 nov. 2010, 15:31
par stopher
Slt ,

Pour commencer simplement ,

ton formulaire principale , tu ajoutes dans la balise
 form enctype="multipart/form-data" action="do_sendform.php" 
Et bien entendu le champ file :
<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
Et bien entendu , tu ajoutes le code de traitement de ta pièce jointe dans "do_sendform.php" , par contre , pour la création de ton mail avec sa piéce jointe , comme la documentation te le précise , il est conseillé d'utiliser une librairie spécialisé pour cet effet :

http://pear.php.net/package/Mail_Mime


ou

Rmail mon preferé
Good luck ,

ch.

Re: formulaire + piece jointe

Posté : 21 nov. 2010, 17:37
par Invité
Merci

c'est ce que j'ai essayé mais la personne est obligé dabord d'envoyer la piece jointe et après de continuer le formulaire

je voudrais que l'opération se fasse en une seule fois

L'iédeal pour moi c'est la PJ par email et non pas stocké sur le serveur

et une intégration dans une base de donnée

comment je peux faire ça ?

Re: formulaire + piece jointe

Posté : 21 nov. 2010, 19:17
par stopher
Tu ne peux pas ...

La piece jointe doit obligatoirement passer par le serveur, cat c'est lui qui envoie le mail , et non le poste utilisateur .

Pour faire de l'upload sans recharger la page , ( comme le fait FB , Gmail ect .. ) il faut passer par un iframe , la technique est efficace et finalement assez basic , pour trouver des tutos la dessus , cherche avec les mots clef suivants :

upload ajax iframe

Une lib tres efficace là dessus : http://github.com/valums/file-uploader
Fonctionne à merveille :)

Voilà ,
Bonne recherche et tests ,
Ch.

Re: formulaire + piece jointe

Posté : 21 nov. 2010, 20:47
par Invité
je comprends rien à tout ça

y'a beaucoup de site qui le font avec de beau calendrier à la place d'une date, et tout se fait en un bloc

où je pourrais trouver un script pret à l'emploi ?

pour le calendrier j'ai vu qu'ils faisais ça en jquery mais j'ai rien compris à l'intégration