bonjour...
 Ce que je veux faire, c'est créer un formulaire de contact avec pièces jointes.
 j'ai donc créé un formulaire de contact qui fonctionne très bien à part les pièces jointes.
 Je sais qu'il existe des codes utilisant la POO, mais j'aimerai garder le mien.
 j'ai ajouté à mon code de départ la partie $filen_name... concernant les pièces jointes (code trouvé sur internet)
 Mon script envoi un e-mail mais PAS la pièce jointe.....  Est-ce que quelqu'un pourrait me dire comment résoudre mon problème. MERCI
 Voici mon code.
 Code :
 - <?php
 -  //function permettant la vérification du format de l'adresse e-mail
 -  function valideEmail($email)
 -     {
 -         return eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", $email);
 -     }
 -  //
 - if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['dest']) && isset($_POST['message'])){
 - 	extract ($_POST);
 - 	//si aucun des champs du formulaire n'est vide alors on exécute les instructions
 - 	if (!empty($nom) && !empty($email) && !empty($dest) && !empty($message)){
 -   if (!valideEmail($email)){ // verifie si l'adresse e-mail est au bon format
 -   	echo 'le mail n\'est pas au bon format : example@operateur.fr'; // message d'erreur si faux
 -   	}
 -   //$message=addslashes($message); -> supprimer les antislashes dans le message reçu
 -   $message=str_replace("\'","'",$message); //remplacer un caractère par un autre
 -   list($nomdest, $predest) = split('[/.-]', $dest); //selectionner un certain nombre de caractères de la variable
 -   //$desti=substr($dest,0,8); -> retenir les caratères a partir du premier jusqu'au huitieme
 -   $link = mysql_connect(); // connection au serveur
 -   if(!$link) {echo"Impossible de se connecter au serveur".mysql_error();exit;} //verifie la connection au serveur
 -   mysql_select_db(basename,$link); //connection a la base de données
 -   $requete = "select email from admin where nom='$nomdest' and prenom='$predest'"; //requête sql
 -   $req = mysql_query($requete); //exécution de la requête
 -   while($data = mysql_fetch_assoc($req)) //Lit une ligne de résultat MySQL dans un tableau associatif
 -   {
 -      $art = $data['email'];
 -   }
 -   // destinataire
 -   $destinataire=$art;
 -   //sujet
 -   $sujet="Formulaire de contact";
 -   //entete
 -   $entete= 'From:'.$nom.' <'.$email.'>'."\n";
 -   $entete .= 'Mime-Version: 1.0'."\r\n";
 -   $entete .= 'Content-Type: multipart/mixed;'."\r\n";
 -   $entete .= "\r\n";
 -   //message
 -   $msg="Un nouveau message est arrivé \n
 -   Nom : $nom \n
 -   E-mail : $email \n
 -   Message : $message ";
 -      	//PIECE JOINTE
 -   	$file_name = $_POST['pj'];
 -   if(file_exists($file_name))
 -   {
 -   $file_type = filetype($file_name);
 -   $file_size = filesize($file_name);
 -      	$msg .= 'Content-Type:'.$file_type.'; name="'.$file_name.'"'."\n";
 -      	$msg .= 'Content-Transfer-Encoding: base64'."\n";
 -      	$msg .= 'Content-Disposition:attachement; filename="'.$file_name.'"'."\n\n";
 -      	$msg .= chunk_split(base64_encode(file_get_contents($file_name)))."\n";
 -   }
 -   mail($destinataire,$sujet,$msg,$entete); // fonction mail() qui permet l'envoi
 - 	?>
 -   <!-- formulaire de confirmation de l'envoi avec possibilite de retour vers un formulaire vide -->
 -   <fieldset><legend>Le Message a bien été envoyé ! </legend>
 -   <form method="POST" action="contact.php" enctype="multipart/form-data">
 -   <p align="center">
 -   <input type="submit" name="retour" value="Retour au formulaire de contact">
 -   </p>
 -   </form>
 -   </fieldset>
 -     <?php
 - 	}
 - 	else {
 - 	?>
 -   <!-- formulaire d'erreur si un des champs est vide -->
 -   <fieldset><legend>Vous n'avez pas rempli tous les champs ! </legend>
 -   <form method="POST" action="contact.php" enctype="multipart/form-data">
 -   <p align="center">
 -   <input type="submit" name="retour" value="Retour au formulaire de contact">
 -   </p>
 -   </form>
 -   </fieldset>
 -     <?php
 - 	}
 - }
 - ?>
 
  | 
 
Message édité par yuxi le 30-12-2008 à 17:23:06