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

  FORUM HardWare.fr
  Programmation
  PHP

  pb avec mon formulaire contact php pour envoyer la pièce jointe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb avec mon formulaire contact php pour envoyer la pièce jointe

n°2063548
lylyka
quand on veut on peut...
Posté le 15-03-2011 à 10:56:47  profilanswer
 

Bonjour,
 
J'ai créé un formulaire en php qui permet d'envoyer un mail sur ma boite au lettre depuis un site.
Le mail est les textes s'affichent bien cependant la pièce jointe n'est pas jointe. Son nom s'écrit cependant.
Pouvez vous m'aider à trouver la solution car je manipule php mais pas avec certitudes? :heink:  
Je pense que " $fichier = htmlspecialchars(addslashes($fichier));" ne sert qu'à réécrire le nom du fichier envoyé mais pas à l'envoyer. Par quoi le remplacer? :??:  
 
 
Voici le code php de départ:

Code :
  1. <?php
  2.  $erreur = NULL; $info = NULL;
  3.  if(!empty($_POST['nom']) AND !empty($_POST['email']) AND !empty($_POST['message'])){     extract($_POST);     if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email))
  4.   {      $fichier = htmlspecialchars(addslashes($fichier));
  5.     $nom = htmlspecialchars(addslashes($nom));
  6.     $nomenf = htmlspecialchars(addslashes($nomenf));
  7.    $prenom = htmlspecialchars(addslashes($prenom));
  8.    $prenomenf = htmlspecialchars(addslashes($prenomenf));
  9.       $email = htmlspecialchars(addslashes($email));   
  10.     $message = htmlspecialchars(addslashes($message));
  11.     $destinataire = "mon adresse mail où est env le mail";
  12.     $sujet = "Formulaire de contact";
  13.     $entete = 'From : '.$email.'';
  14.     $message = 'Fichier : '.$fichier.' '."\n". 'Nom : '.$nom.' '."\n".' Prenom : '.$prenom.''."\n".' Prenom enfant : '.$prenomenf.''."\n".' Nom enfant : '.$nomenf.''."\n".' Email : '.$email.'  '."\n".' Message : '.$message.'';
  15.     mail($destinataire, $sujet, $message, $entete); 
  16.     $info = "Votre email à été envoyé";   
  17.     unset($_POST, $message, $nom, $nomenf, $email, $prenom, $prenomenf, $date, $fichier ); 
  18.     }
  19.       else{     $erreur="Adresse email invalide";     } 
  20.  }
  21.    else{     $erreur = "Veuillez remplir tous les champs obligatoires *"; }
  22.  ?>


 
 
Voici le code php du formulaire:
 

Code :
  1. <form method="post" target="" id="formulaire_contact" name="form_contact" >
  2.  <table width="631" border="0" align="center" cellpadding="0" cellspacing="0" id="form_vitrine">
  3.  <tr>
  4.   <td colspan="2"><div align="left"><em>&rarr; les champs marqu&eacute;s d'une * sont obligatoires. </em></div></td>
  5.  </tr>
  6.           <tr>
  7.             <td width="142" id="nom">NOM* : </td>
  8.             <td width="389" align="left"><input type="text" size="40" maxlength="64" name="nom" id="nom" value="<?php if(isset($_POST['nom'])) echo htmlspecialchars($_POST['nom']); ?>"/> </td>
  9.           </tr>
  10.           <tr>
  11.             <td id="prenomp">PRENOM : </td>
  12.             <td align="left"><input type="text" size="40" maxlength="64" name="prenom" id="prenomp" value="<?php if(isset($_POST['prenom'])) echo htmlspecialchars($_POST['prenom']); ?>" /></td>
  13.           </tr>
  14.    <tr>
  15.     <td id="nom">EMAIL* : </td>
  16.   <td align="left"><input type="text" size="40"  maxlength="64"  name="email" id="email" value="<?php if(isset($_POST['email'])) echo htmlspecialchars($_POST['email']); ?>" /></td>
  17.   </tr>
  18.           <tr>
  19.             <td colspan="2">&nbsp;</td>
  20.             </tr>
  21.           <tr>
  22.             <td colspan="2" id="txt_responsable">
  23.               Heureux parents de(s) l'enfant(s) d&eacute;sign&eacute;(s) ci - dessous, aimeraient publier  le faire - part de naissance ou la photo de mon/mes enfant(s) sur le site.</td>
  24.             </tr>
  25.           <tr>
  26.             <td colspan="2">&nbsp;</td>
  27.             </tr>
  28.           <tr>
  29.             <td id="nom_enf">NOM DE L'ENFANT : </td>
  30.             <td align="left"><input type="text" size="40" maxlength="64" name="nomenf" id="nomenf" value="<?php if(isset($_POST['nomenf'])) echo htmlspecialchars($_POST['nomenf']); ?>"/></td>
  31.           </tr>
  32.           <tr>
  33.             <td id="prenom_enf">PRENOM DE L'ENFANT : </td>
  34.             <td align="left"><input type="text" size="40" maxlength="64" name="prenomenf" id="prenomp" value="<?php if(isset($_POST['prenomenf'])) echo htmlspecialchars($_POST['prenomenf']); ?>" /></td>
  35.           </tr>
  36.   
  37.   
  38.     
  39.           <tr>
  40.             <td colspan="2" >&nbsp; </td>
  41.             </tr>
  42.           <tr>
  43.             <td colspan="2">&nbsp;</td>
  44.             </tr>
  45.           <tr>
  46.             <td id="fichier">Votre fichier : </td>
  47.             <td align="left"><input type="file" name="fichier" value="<?php if(isset($_POST['fichier'])) echo htmlspecialchars($_POST['fichier']); ?>"/>
  48.             (.jpeg uniquement) </td>
  49.           </tr>
  50.     <tr>
  51.             <td colspan="2">&nbsp;</td>
  52.             </tr>
  53.    <tr>
  54.             <td id="fichier">Votre petit mot*: </td>
  55.             <td align="left"><textarea name="message" cols="40" rows="10" id="message"><?php if(isset($_POST['message'])) echo htmlspecialchars($_POST['message']); ?> Votre petit mot ici... N'oubliez pas de nous donner la date de naissance de votre/vos petit(e)(s)</textarea></td>
  56.           </tr>
  57.           <tr>
  58.             <td>&nbsp;</td>
  59.             <td>&nbsp;</td>
  60.           </tr>
  61.      <tr>
  62.             <td id="annuler"><input type="Reset" name="Reset" value="Annuler" /></td>
  63.             <td id="envoyer" ><input type="submit" name="Submit" value="Envoyer" /></td>
  64.           </tr>
  65.      <tr>
  66.             <td>&nbsp;</td>
  67.             <td>&nbsp;</td>
  68.           </tr>
  69.         </table>
  70.    <span style="color:red;"><?php echo $erreur; ?></span><span style="color:green"><?php echo $info;?></span>
  71.   </form>



Merci beaucoup de prendre du temps ....

mood
Publicité
Posté le 15-03-2011 à 10:56:47  profilanswer
 

n°2063552
PunkRod
Digital Mohawk
Posté le 15-03-2011 à 11:36:35  profilanswer
 

1. je pense pas que tu parviennes à récupérer ton image de la façon dont tu procèdes
regarde du côté de $_FILES (http://www.php.net/manual/fr/reserved.variables.files.php )
N'oublie pas non plus d'ajouter
enctype="multipart/form-data"
dans ta balise form.
 
2. là t'es qu'au début de tes problèmes, car pour ajouter la pièce jointe, il ne suffit pas de coller ta variable comme tu le fais.
 
Tourne toi vers des bibliothèques spécialisées dans la création et l'envoi de mail. (phpmailer est pas mal de mémoire, j'utilise Zend_Mail dernièrement, mais ça je pense que c'est même pas envisageable à ton niveau).
Faire la pièce jointe mail à la main est un non-sens à mon avis:
- tu réinventes la roue,
- et c'est pas particulièrement facile à faire


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

  pb avec mon formulaire contact php pour envoyer la pièce jointe

 

Sujets relatifs
Afficher/supprimer le contenu d'une bdd en fonction d'un id précisformulaire de contact : erreur ?
Modifier formulaire / php débutant[Résolu] Formulaire dynamique lié à une base de donnée
Eviter la répétition des votes sur un formulaire Google DocumentAjout de pièce jointe dans un mail
[QST] création d'un script/formulaire[resolu] Probleme de variable "tout" sur un formulaire de recherche
Plus de sujets relatifs à : pb avec mon formulaire contact php pour envoyer la pièce jointe


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