Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1156 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire + pièce jointe!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire + pièce jointe!

n°1844696
zazounn
Posté le 29-01-2009 à 14:11:21  profilanswer
 

Bonjour,  
 
J'ai créer un formulaire très simple sur mon site avec prénom, nom etc. Et je voudrais que les gens puissent envoyer également une pièce jointe (style en .doc). En gros, le formulaire est envoyé sur une boite mail avec les renseignements, et je voudrais pouvoir avoir également la pièce jointe en question.  
Pour le moment, je n'ai pas trouvé la sol malgré toutes mes tentatives!!
Qqn pourrait me donner une piste??
 
Merci

mood
Publicité
Posté le 29-01-2009 à 14:11:21  profilanswer
 

n°1844704
aspirateur
Posté le 29-01-2009 à 14:18:36  profilanswer
 

En cherchant 1 seconde sur Google tu tombe sur:
http://www.vulgarisation-informatique.com/mail.php

 

Ca explique la fonction mail de php.

 

Il ne te reste plus qu'à faire ton formulaire avec un champ input type file. En cherchant sur le forum tu devrais trouver la réponse.

 

Edit: Si jamais avec ca tu as des problèmes n'hésite pas à poster ton code on te filera un coup de main ;)


Message édité par aspirateur le 29-01-2009 à 14:19:58
n°1844900
zazounn
Posté le 29-01-2009 à 17:39:29  profilanswer
 

merci je redis si jamais j'y arrive toujours pas!

n°1845133
zazounn
Posté le 30-01-2009 à 11:31:04  profilanswer
 

Bon alors voici mon code:  
la page du formulaire = form.php
 

Citation :

<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
 $erreur="";
 // Nettoyage des entrées
 while(list($var,$val)=each($_POST)){
 if(!is_array($val)){
  $$var=strip_tags($val);
 }else{
  while(list($arvar,$arval)=each($val)){
    $$var[$arvar]=strip_tags($arval);
   }
  }
 }
 // Formatage des entrées
 $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
 // Verification des champs
 if(strlen($f_1)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Nom &raquo; est vide ou incomplet.</span>";
  $errf_1=1;
 }
 if($erreur=="" ){
  // Création du message
  $titre="Message de votre site";
  $tete="From:Site@site.fr\n";
  $corps.="Nom : ".$f_1."\n";
  if(mail("monmail@monsite.fr", $titre, stripslashes($corps), $tete)){
   $ok_mail="true";
  }else{
   $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
  }
 }
}
?>
<p class="bla"><b><u>Déposer vos coordonnées, votre CV :</b></u>
<fieldset>
       <legend><b>Vos coordonnées</B></legend>
<form action='index2.php?page=envoi' method='post' name='Form'>
<P>Nom:
<INPUT type="text" name="nom" size=30>
 
Prénom:
<INPUT type="text" name="prenom" size=30>
</p>
 
<p>Adresse e-mail:<br>
<input type="text" name="mail" size=50>
 
 
Téléphone fixe:
<input type="text" name="telfix" size=10>
 
Téléphone mobile:
<input type="text" name="telmob" size=10>
 
<br>
 
<input type="hidden" name="max_file_size" value="100000">  
Déposer votre CV:<input name="fichier" type="file" size="16">
</p>
</fieldset>
<fieldset>
<legend><b>Votre message</B></legend>
<p>Objet:<br>
<input type="text" name="objet" size=30>
</P>
<P>Message:<br>
<textarea name="message" cols=90 rows=25></textarea>
</p></fieldset><center><input type="reset" name="Reset" value="Effacer">  
<INPUT type="submit" value="Envoyer"></center>
</FORM>  


 
Et voila la page envoi.php que j'avais faite quand il n'y avait pas la pièce jointe:  

Citation :

<?php
 
$_POST['nom']=$nom;
$_POST['prenom']=$prenom;
$_POST['mail']=$mail;
$_POST['telfix']=$telfix;
$_POST['telmob']=$telmob;
$_POST['objet']=$objet;
$_POST['message']=$message;
$mailenvoye="Bonjour,
 
 
Voici les informations laissées par le contact :
 
NOM : $nom ; PRENOM : $prenom  
 
MAIL : $mail
 
TEL FIX : $telfix ; TEL MOBILE : $telmob
 
Voici le commentaire qu'il vous a laissé :
$message";
 
mail("monmail@monsite.fr","$objet","$mailenvoye" );
 
?>
<p class=titre>message de remerciement</p>
<br><br>
 
                       
 <CENTER><b>petite phrase de remerciement...</B>
 
 


 
Voila, et je n'arrive pas à intégrer la pièce jointe, j'ai regardé le site donné ds le message précédent et le code mais je n'arrive pas à faire correspondre la pièce jointe du formulaire avec celle de ce code.
Voila ce que j'ai fait pour le moment mais ce n'est absolument pas satisfaisant :  

Citation :

<?php
 
$_POST['nom']=$nom;
$_POST['prenom']=$prenom;
$_POST['mail']=$mail;
$_POST['telfix']=$telfix;
$_POST['telmob']=$telmob;
$_POST['objet']=$objet;
$_POST['message']=$message;
     //-----------------------------------------------
     //DECLARE LES VARIABLES
     //-----------------------------------------------
 
     $email_expediteur='$mail';
     $email_reply='email_de_reponse@fai.fr';
     $message_texte='Bonjour,'."\n\n".'Voici un message au format texte';
 
     $message_html='<html>
     <head>
     <title>Titre</title>
     </head>
     <body>Test de message</body>
     </html>';
 
     //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------
 
     $frontiere = '-----=' . md5(uniqid(mt_rand()));
 
     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------
 
     $headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
     $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
 
     //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
     $message = 'This is a multi-part message in MIME format.'."\n\n";
 
     $message .= '--'.$frontiere."\n";
     $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_texte."\n\n";
 
     //-----------------------------------------------
     //MESSAGE HTML
     //-----------------------------------------------
     $message .= '--'.$frontiere."\n";
 
     $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_html."\n\n";
 
     $message .= '--'.$frontiere.'--'."\n";
 
     //-----------------------------------------------
     //PIECE JOINTE
     //-----------------------------------------------
 
     $message .= 'Content-Type: image/jpeg; name="nom_du_fichier.jpg"'."\n";
     $message .= 'Content-Transfer-Encoding: base64'."\n";
     $message .= 'Content-Disposition:attachement; filename="nom_du_fichier.jpg"'."\n\n";
 
     $message .= chunk_split(base64_encode(file_get_contents('nom_du_fichier.jpg')))."\n";
 
     if(mail($destinataire,$sujet,$message,$headers))
     {
          echo 'Le mail a été envoyé';
     }
     else
     {
          echo 'Le mail n\'a pu être envoyé';
     }
?>


 
Comment faire ?
 
 

n°1845149
aspirateur
Posté le 30-01-2009 à 11:53:00  profilanswer
 

Je ne vais pas être d'une grande aide, ca fait bien longtemps que je n'ai pas utiliser cette fonction.
 
Cherche sur google des infos sur la fonction mail() de php.
 
C'est comme ca que j'avais fait à l'époque.
 
Bon courage

n°1845167
zazounn
Posté le 30-01-2009 à 12:39:29  profilanswer
 

C'est bon j'ai trouvé!  
Merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire + pièce jointe!

 

Sujets relatifs
Formulaire conditionnelBlocage accès formulaire & update auto
mon formulairerecuperation piece jointe formulaire
Formulaire avec piece jointeEnvoie pièce jointe ds un formulaire
Formulaire avec pièce jointe envoyé par emailproblème formulaire avec envoi de pièce jointe
urgent ajout d'une piece jointe ds un formulaire 
Plus de sujets relatifs à : Formulaire + pièce jointe!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR