Page 1 sur 1

formulaire avec piece jointe

Posté : 29 avr. 2010, 19:16
par pepito_64
Bonjour à tous
tout nouveau sur le forum et débutant en php.
Je suis en train de faire un site, sur lequel j'ai un formulaire de contact qui envoi un mail jusque là tout fonctionne,
je voudrais recevoir des pièces jointes (pdf, word ,jpeg etc) et c'est là que ça coince !!

Cela fait deux jours que je galère dessus, j'ai écumer pas mal de forum, j'ai trouver des réponses mais rien ne fonctionne, je commence à mieux comprendre mais à chaque fois ça ne fonctionne pas!!! le truc aussi c'est qu'a force de choper des bouts de code sur les bouquins ou sur les forums je suis perdu.

Alors si vous pouviez me dire juste la démarche à suivre, comment je doit m'y prendre.

je vous remercie d'avance.
Je vous poste le formulaire + le code php de base php qui fonctionne
<form method="post" action="traitement_contact.php" enctype="multipart/form-data">
Votre nom*  : </td><td><input name='nom' type='text' size='30' class="form">
Votre prénom*  : </td><td><input name='prenom' type='text' size='30' class="form">
Société : </td><td><input name='société' type='text' size='30' class="form">
Adresse :</td><td><input name='adresse' type='text' size='30' class="form">
Code postal  : </td><td><input name='cp' type='text' size='30' class="form">
Ville  : </td><td><input name='ville' type='text' size='30' class="form">
Téléphone* : </td><td><input name='telephone' type='text' size='30' class="form">
Email* :</td><td><input name='email' type='text' size='30' class="form" />
Pièce-jointe :</td><td><input type="file" name="fichier" size="30" class="form">
Votre message :</td><td><textarea name='comments' cols='36' rows='5' class="form"></textarea>
<input name='annuler' type='reset' value='Annuler' />
<input name='upload' type='submit' value='Envoyer' 
		  				
<?php

$msg_erreur = "<li><span class='texte'>Erreur. Les champs suivants doivent être obligatoirement remplis :<br/>";
$msg_ok = "<li><span class='texte'>Votre demande a bien été envoyer, nous allons y donner suite rapidement.";
$message = $msg_erreur;

// Destinataire
define('MAIL_DESTINATAIRE','[email protected]');
// Sujet
define('MAIL_SUJET','Message du site xxx.com :');

// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre prénom<br/>";
$societe = $_POST["societe"] ;
$adresse = $_POST["adresse"] ;
$cp = $_POST["cp"] ;
$ville = $_POST["ville"] ;
if (empty($_POST['telephone']))
$message .= "Veuiller indiquer votre numéro de téléphone<br/>";
if (empty($_POST['email']))
$message .= "Veuiller indiquer votre adresse mail<br/>";
$fichier = $_POST["fichier"] ;
$comments = $_POST["comments"] ;

// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

  echo $message;

// sinon c'est ok
} else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .="From:[email protected]\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: base64\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps .= "Message de : $nom\n";
$mail_corps .= "Prenom : $prenom\n";
$mail_corps .= "Societe : $societe\n";
$mail_corps .= "Adresse : $adresse\n";
$mail_corps .= "Code postal : $cp\n";
$mail_corps .= "Ville : $ville\n";
$mail_corps .= "Telephone : $telephone\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Piece jointe : $fichier\n";
$mail_corps .= "Commentaires : $comments\n";

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

  //Le mail est bien expédié
  echo $msg_ok;
} else {

  //Le mail n'a pas été expédié
  echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
?>