Envois pièce jointe

Bonjour à tous !

J'ai beau cherché, j'ai beau fouillé, je ne trouve pas la solution et je suis vraiment coincé...
J'essaie d'envoyer un mail avec pièce jointe.
Ce code m'envois le mail, m'envois 1 piècej ointe (sur 2) et sans message, seulement un noname d'1Ko

Pouvez-vous m'aider svp ?

<?php
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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
$f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));

// Verification des champs
if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}

if($erreur==""){

$titre=$REC_PostulerOffre.': '.$f_Reference;
$tete="From:".$f_Email."\n";
$tete.= 'MIME-Version: 1.0'."\n";
$tete.='Content-Type: multipart/mixed; charset="UTF-8"'."\n";
$tete.='Content-Transfer-Encoding: 8bit';

if($_POST['submit'] != ''){
switch(strrchr(basename($_POST['submit']), ".")){
case ".pdf": $ctype = "application/pdf"; break;
case ".png": $ctype = "image/png"; break;
case ".gif": $ctype = "image/gif"; break;
case ".jpg": $ctype = "image/jpeg"; break;
case ".txt": $ctype = "text/plain"; break;
default: $ctype = "application/octet-stream"; break;
}

$tete.= 'Content-Type: '.$ctype.'; name="'.$_POST['submit'].'"'."\n";
$tete.= 'Content-Transfer-Encoding: base64'."\n";
$tete.= 'Content-Disposition:attachement; filename="'.$_POST['submit'].'"'."\n\n";
$tete.= chunk_split(base64_encode(file_get_contents($_POST['submit'])))."\n"; 

// Création du message
$corps.=$REC_Nom.": ".$f_Nom."\n";
$corps.=$REC_Email.": ".$f_Email."\n";
$corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
$corps.=$REC_Motivation.": ".$f_Motivation."\n";
if(mail("monmail@gmail.com", $titre, stripslashes($corps), $tete)){
$ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}}
}
?>

10 réponses

  1.  Warning: file_get_contents(f_Curriculum): failed to open stream: No such file or directory in /homez.724/sivop/www/jobs/postuler.php on line 52


    Voici l'erreur que je rencontre.
    Je n'arrive vraiment plus à comprendre :'(
    <?php
    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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
    $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));
    
    // Verification des champs
    if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
    if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
    else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
    if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
    if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}
    
    if($erreur==""){
    
    $frontiere = '-----=' . md5(uniqid(mt_rand()));
    
    $titre=$REC_PostulerOffre.': '.$f_Reference;
    $tete="From:".$f_Email."\n";
    $tete.= 'MIME-Version: 1.0'."\n";
    $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
    $tete.='Content-Transfer-Encoding: 8bit';
    
    if($_POST['submit'] != ''){
    switch(strrchr(basename($_POST['submit']), ".")){
    case ".pdf": $ctype = "application/pdf"; break;
    case ".png": $ctype = "image/png"; break;
    case ".gif": $ctype = "image/gif"; break;
    case ".jpg": $ctype = "image/jpeg"; break;
    case ".txt": $ctype = "text/plain"; break;
    default: $ctype = "application/octet-stream"; break;
    }
    
    $tete.= 'Content-Type: '.$ctype.'; name="f_Curriculum"'."\n";
    $tete.= 'Content-Transfer-Encoding: base64'."\n";
    $tete.= 'Content-Disposition:attachement; filename="f_Curriculum"'."\n\n";
    $tete.= chunk_split(base64_encode(file_get_contents('f_Curriculum')))."\n"; 
    
    // Création du message
    $corps= '--'.$frontiere."\n";
    $corps.=$REC_Nom.": ".$f_Nom."\n";
    $corps.=$REC_Email.": ".$f_Email."\n";
    $corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
    $corps.=$REC_Motivation.": ".$f_Motivation."\n";
    $corps.= '--'.$frontiere.'--'."\n";
    
    if(mail("monmail@gmail.com", $titre, stripslashes($corps), $tete)){
    $ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}}
    }
    ?>
    0
    1. Si je ne me trompe pas, le fichier "f_Curriculum" n'existe pas, ce n'est que le nom de la clé de $_FILES[].
      Tu as procédé à l'enregistrement du fichier envoyé sur le serveur avant de le resservir dans le mail ?
      0
  2. Cette erreur c'est juste pour dire qu'il ne trouve pas de fichier ou dossier nommé 'f_Curriculum', soit le lien vers ce fichier n'est pas bon, soit le nom qui n'est pas bon, ou sinon le fichier n'existe tout simplement pas.
    0
    1. Ce n'est pas le fichier f_Curriculum mais plutot le champs de fichier.
      J'ai beau modifier, avec et sans $... Ca fais plus de 2 semaines que je suis dessus, j'en bave sérieusement.

      Voici toute ma page, je ne sais même pas si il y 'a une erreur dans le code...
      svp aidez moi !
      <?php
      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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
      $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));
      
      // Verification des champs
      if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
      if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
      else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
      if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
      if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}
      
      if($erreur==""){
      
      $frontiere = '-----=' . md5(uniqid(mt_rand()));
      
      $titre=$REC_PostulerOffre.': '.$f_Reference;
      $tete="From:".$f_Email."\n";
      $tete.= 'MIME-Version: 1.0'."\n";
      $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
      $tete.='Content-Transfer-Encoding: 8bit';
      
      if($_POST['submit'] != ''){
      switch(strrchr(basename($f_Curriculum), ".")){
      case ".pdf": $ctype = "application/pdf"; break;
      case ".png": $ctype = "image/png"; break;
      case ".gif": $ctype = "image/gif"; break;
      case ".jpg": $ctype = "image/jpg"; break;
      case ".txt": $ctype = "text/plain"; break;
      default: $ctype = "application/octet-stream"; break;}
      
      $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n";
      $tete.= 'Content-Transfer-Encoding: base64'."\n";
      $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n";
      $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n";  
      
      // Création du message
      $corps= '--'.$frontiere."\n";
      $corps.=$REC_Nom.": ".$f_Nom."\n";
      $corps.=$REC_Email.": ".$f_Email."\n";
      $corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
      $corps.=$REC_Motivation.": ".$f_Motivation."\n";
      $corps.= '--'.$frontiere.'--'."\n";
      
      if(mail('monmail@gmail.com', $titre, stripslashes($corps), $tete)){
      $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}}
      
      }
      
      ?>
      <table width="660" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td align="left" valign="top" class="CadreGris"><? if($ok_mail=="true"){ ?>
            <table width='639' border='0' cellspacing='0' cellpadding='0'>
              <tr>
                <td>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td><tt><? echo nl2br(stripslashes($corps));?></tt></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>Nous allons y donner suite dans les meilleurs délais.<br />A bientôt.</td>
              </tr>
            </table>
            <? }else{ ?>
            <form action="<? echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="Form" id="Form">
              <table width="639" border="0" cellspacing="0" cellpadding="0">
                <? if($erreur){ ?>
                <tr>
                  <td colspan="3"><?php echo $CAS_ErreurEnvois; ?><ul><? echo $erreur ?></ul>
                  </td>
                </tr>
                <? } ?>
                <tr>
                  <td colspan='3'>&nbsp;</td>
                </tr>
                <tr>
                  <td width="200">Nom</td>
                  <td width="20">*</td>
                  <td><input type="text" style="width:100%;" name="f_Nom" value="<? echo stripslashes($f_Nom); ?>" /></td>
                </tr>
                <tr>
                  <td colspan="3">*</td>
                </tr>
                <tr>
                  <td>Email</td>
                  <td>*</td>
                  <td><input type="text" style="width:100%;" name="f_Email" value="<? echo stripslashes($f_Email); ?>" /></td>
                </tr>
                <tr>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td>Piece jointe 1</td>
                  <td>*</td>
                  <td><input type="file" style="width:100%; text-align:left;" name="f_Curriculum" /></td>
                </tr>
                <tr>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td>Piece jointe 2</td>
                  <td>*</td>
                  <td><input type="file" style="width:100%; text-align:left;" name="f_Motivation" /></td>
                </tr>
                <tr>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td colspan="3" align="center"><input type='submit' name='submit' value='Envoyer' /></td>
                </tr>
                <tr>
                  <td colspan="3" align="center">&nbsp;</td>
                </tr>
              </table>
            </form>
            <? } ?></td>
        </tr>
      </table>
      
      0
      1. Il faut que ton fichier envoyé via ton input file soit traité par le serveur et déplacé dans un dossier via la fonction move_uploaded_file()

        Ce tuto peut t'aider : https://openclassrooms.com/fr/courses

        Au passage, fait bien attention à utiliser les balises <?php au lieu de <? ;)
        0
    2. Après avoir modifié encore et encore, le mail ne s'envois plus lorsque je met ce code :
      if($erreur==""){
      
      $upload_file = $uploaddir.$_FILES[$f_Curriculum]['name'];
      if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file)) {
      $ext = explode(".", basename($_FILES[$f_Curriculum]['name']));
      switch($ext[1]) {
      default:           $attach_type =  "application/octet-stream"; 
      break; case "png": $attach_type =  "image/png";
      break; case "gif": $attach_type =  "image/gif";
      break; case "jpg": $attach_type =  "image/jpg";
      break; case"jpeg": $attach_type =  "image/jpeg";
      break; case "bmp": $attach_type =  "image/bmp";
      break;}
      
      if (file_exists($upload_file)) {
      $file = fopen($upload_file, "r");
      $contents = fread($file, filesize($upload_file));
      $encoded_attach = chunk_split(base64_encode($contents));
      fclose($file);}
      
      $frontiere = '-----=' . md5(uniqid(mt_rand()));
      
      $titre=$REC_PostulerOffre.': '.$f_Reference;
      $tete="From:".$f_Email."\n";
      $tete.='MIME-Version: 1.0'."\n";
      $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
      $tete.='Content-Transfer-Encoding: 8bit';
      $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n";
      $tete.= 'Content-Transfer-Encoding: base64'."\n";
      $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n";
      $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n";  
      
      // Création du message
      $corps= '--'.$frontiere."\n";
      $corps.=$REC_Nom.": ".$f_Nom."\n";
      $corps.=$REC_Email.": ".$f_Email."\n";
      $corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
      $corps.=$REC_Motivation.": ".$f_Motivation."\n";
      $corps.= '--'.$frontiere.'--'."\n";
      
      if(mail('monmail@gmail.com', $titre, stripslashes($corps), $tete)){
      $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}}
      
      }
      Y a t-il une raison ?
      0
      1. La seule raison que je que je vois serait ton 1er if ne passe pas :
        if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file))

        Est-ce que la condition est remplie ? (rajoute un else)
        Parcque pour moi $f_Curriculum n'existe pas et à moins qu'elle ne contienne 'f_Curriculum', c'est normal que le if n'est pas validé :)

        Si c'est validé, est-ce que le fichier aparait bien dans le dossier d'upload ?

        EDIT : en plus, peut être est-ce parcque tu n'a pas mis tout ton code, mais il y a un } en trop par rapport au {
        0
    3. Non... je n'y arrives pas !
      J'ai beau travailler dessus... je suis crevé !
      0
      1. Tu en es rendu ou ?
        0
    4. Déjà, la condition du if me fait erreur lorsque je met un else {echo ""}
      Ensuite, considérent que le $f_Curriculum est le champ de fichier qui récupère mon image, "si" le fichier est envoyé, il est renommé en noname et pèse 1Ko
      J'ai beau cherché le } en plus je ne l'ai pas trouvé... voici dans le code complet de ma page (en supprimant les modifications effectuées depuis quelques jours :
      <?php
      $StyleErreur="border-color:rgba(255, 41, 54, 0.8); outline:0; outline:thin dotted \9;
      -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6);
      -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6);
      box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6);";
      
      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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
      $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));
      
      // Verification des champs
      if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
      if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
      else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
      if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
      if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}
      
      if($erreur==""){
      
      $upload_file = $uploaddir.$_FILES[$f_Curriculum]['name'];
      
      if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file)) {
      $ext = explode(".", basename($_FILES[$f_Curriculum]['name']));
      switch($ext[1]) {
      default:           $attach_type =  "application/octet-stream"; 
      break; case "png": $attach_type =  "image/png";
      break; case "gif": $attach_type =  "image/gif";
      break; case "jpg": $attach_type =  "image/jpg";
      break; case"jpeg": $attach_type =  "image/jpeg";
      break; case "bmp": $attach_type =  "image/bmp";
      break;}
      
      if (file_exists($upload_file)) {
      $file = fopen($upload_file, "r");
      $contents = fread($file, filesize($upload_file));
      $encoded_attach = chunk_split(base64_encode($contents));
      fclose($file);}
      
      $frontiere = '-----=' . md5(uniqid(mt_rand()));
      
      $titre=$REC_PostulerOffre.': '.$f_Reference;
      $tete="From:".$f_Email."\n";
      $tete.='MIME-Version: 1.0'."\n";
      $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
      $tete.='Content-Transfer-Encoding: 8bit';
      $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n";
      $tete.= 'Content-Transfer-Encoding: base64'."\n";
      $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n";
      $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n";  
      
      // Création du message
      $corps= '--'.$frontiere."\n";
      $corps.=$REC_Nom.": ".$f_Nom."\n";
      $corps.=$REC_Email.": ".$f_Email."\n";
      $corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
      $corps.=$REC_Motivation.": ".$f_Motivation."\n";
      $corps.= '--'.$frontiere.'--'."\n";
      
      if(mail('jaber.ahmed.a@gmail.com', $titre, stripslashes($corps), $tete)){
      $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}}
      
      }
      
      ?>
      <!-- ######################################################################################################### -->
      <?php include("../config.php"); ?>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <link type="text/css" href="../css/styles.css" rel="stylesheet" />
      <?php include("../includes/header.php"); ?>
      <!-- ######################################################################################################### -->
      <!-- ######################################################################################################### -->
      
      <table width="970" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td width="250" align="left" valign="top" class="CadreBlanc"><?php include("menu.php"); ?></td>
          <td width="15" align="left">&nbsp;</td>
          <td align="left" valign="top" class="CadreBlanc"><span class="Gras Souligne TexteCyan Taille16"><?php echo $REC_OffreEmploi; ?></span>
          <div class="Espace30"></div><?php echo $REC_SpontaneTexte; ?>
          <div class="Espace30"></div>
          <table width="660" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td align="left" valign="top" class="CadreGris"><?php if($ok_mail=="true"){ ?>
                <table width='639' border='0' cellspacing='0' cellpadding='0'>
                  <tr>
                    <td>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                  </tr>
                  <tr>
                    <td><tt><?php echo nl2br(stripslashes($corps)); ?></tt></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                  </tr>
                  <tr>
                    <td>Nous allons y donner suite dans les meilleurs délais.<br />
                      A bientôt.</td>
                  </tr>
                </table>
                <?php }else{ ?>
                <form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="Form" id="Form">
                  <table width="639" border="0" cellspacing="0" cellpadding="0">
                    <?php if($erreur){ ?>
                    <tr>
                      <td colspan="3"><div class="DivError"><span class="TexteError" ><?php echo $CAS_ErreurEnvois; ?></span>
                        <ul class="TexteGris">
                          <?php echo $erreur ?>
                        </ul>
                      </div></td>
                    </tr>
                    <?php } ?>
                    <tr>
                      <td colspan='3'>&nbsp;</td>
                    </tr>
                    <tr>
                      <td width="200"><?php echo $REC_Nom; ?></td>
                      <td width="20"><div class="Gras TexteRouge Taille14">*</div></td>
                      <td><input type="text" style="width:100%; <?php if($errf_Nom==1){print($StyleErreur);} ?>;" name="f_Nom" value="<?php echo stripslashes($f_Nom); ?>" /></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace10"></div></td>
                    </tr>
                    <tr>
                      <td><?php echo $REC_Email; ?></td>
                      <td><div class="Gras TexteRouge Taille14">*</div></td>
                      <td><input type="text" style="width:100%; <?php if($errf_Email==1){print($StyleErreur);} ?>;" name="f_Email" value="<?php echo stripslashes($f_Email); ?>" /></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace10"></div></td>
                      </tr>
                    <tr>
                      <td><?php echo $REC_Telephone; ?></td>
                      <td><div class="Gras TexteRouge Taille14">*</div></td>
                      <td><input type="text" style="width:100%; <?php if($errf_Telephone==1){print($StyleErreur);} ?>;" name="f_Telephone" value="<?php echo stripslashes($f_Telephone); ?>" /></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace10"></div></td>
                    </tr>
                    <tr>
                      <td><?php echo $REC_Curriculum; ?></td>
                      <td><div class="Gras TexteRouge Taille14">*</div></td>
                      <td><input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
                        <input type="file" style="width:100%; text-align:left;" <?php if($errf_Curriculum==1){print("class='Btn BtnRouge'");} ?> name="f_Curriculum" /></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace10"></div></td>
                    </tr>
                    <tr>
                      <td><?php echo $REC_Motivation; ?></td>
                      <td><div class="Gras TexteRouge Taille14">*</div></td>
                      <td><input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
                        <input type="file" style="width:100%; text-align:left;" <?php if($errf_Curriculum==1){print("class='Btn BtnRouge'");} ?> name="f_Motivation" /></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace20"></div></td>
                    </tr>
                    <tr>
                      <td colspan="3" align="right"><span class="Italique TexteRouge">*</span><span class="Italique TexteGris"> : <?php echo $ChampObligatoire; ?></span></td>
                    </tr>
                    <tr>
                      <td colspan="3"><div class="Espace20"></div></td>
                    </tr>
                    <tr>
                      <td colspan="3" align="center"><input type='submit' name='submit' value='Envoyer' class="Btn BtnBleu" style="width:150px" /></td>
                    </tr>
                    <tr>
                      <td colspan="3" align="center"><div class="Espace60"></div></td>
                    </tr>
                    <tr>
                      <td colspan="3" align="left"><div class="CadreGris Italique TexteGris Taille12"><?php echo $REC_Confidentialite; ?></div></td>
                    </tr>
                  </table>
                </form>
                <?php } ?></td>
            </tr>
        </table></td>
        </tr>
      </table>
      <!-- ######################################################################################################### -->
      <!-- ######################################################################################################### -->
      <?php include("../includes/footer.php"); ?>
      
      0
      1. Déja, comme dit précédemment, $_FILES[$f_Curriculum] n'existe pas, c'est $_FILES['f_Curriculum']

        Ensuite, test tout tes if et dis lequel ne passe pas
        0
    5. Je sens que j'y suis presque...
      Après ces modifications, je reçois le mail avec 1 seule pièce jointe sur 2 (f_Curriculum) et pas f_Motivation
      Je peux le télécharger et l'ouvrir

      Cependant, je ne reçois pas le corps du message ni la seconde pièce jointe.

      <?php
      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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
      $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));
      
      // Verification des champs
      if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
      if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
      else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
      if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
      if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}
      
      
      if($erreur==""){
      
      $upload_file1 = $_FILES['f_Curriculum']['name'];
      $upload_file2 = $_FILES['f_Motivation']['name'];
      
      if (move_uploaded_file($_FILES['f_Curriculum']['tmp_name'], $upload_file1)) {
      	$ext1 = explode(".", basename($_FILES['f_Curriculum']['name']));
      switch($ext1[1]) {default: $attach_type1 = "application/octet-stream"; break;
      case "gz": $attach_type1 = "application/x-gzip"; break;
      case "tgz": $attach_type1 = "application/x-gzip"; break;
      case "zip": $attach_type1 = "application/zip"; break;
      case "pdf": $attach_type1 = "application/pdf"; break;
      case "png": $attach_type1 = "image/png"; break;
      case "gif": $attach_type1 = "image/gif"; break;
      case "jpg": case"jpeg": $attach_type1 = "image/jpeg"; break;
      case "txt": $attach_type1 = "text/plain"; break;
      case "htm": $attach_type1 = "text/html"; break;
      case "html": $attach_type1 = "text/html"; break;}
      
      if (move_uploaded_file($_FILES['f_Motivation']['tmp_name'], $upload_file2)) {
      	$ext2 = explode(".", basename($_FILES['f_Motivation']['name']));
      switch($ext2[1]) {default: $attach_type2 = "application/octet-stream"; break;
      case "gz": $attach_type2 = "application/x-gzip"; break;
      case "tgz": $attach_type2 = "application/x-gzip"; break;
      case "zip": $attach_type2 = "application/zip"; break;
      case "pdf": $attach_type2 = "application/pdf"; break;
      case "png": $attach_type2 = "image/png"; break;
      case "gif": $attach_type2 = "image/gif"; break;
      case "jpg": case"jpeg": $attach_type2 = "image/jpeg"; break;
      case "txt": $attach_type2 = "text/plain"; break;
      case "htm": $attach_type2 = "text/html"; break;
      case "html": $attach_type2 = "text/html"; break;}
      
      if(file_exists($upload_file1)) {
      $file1 = fopen($upload_file1, "r");
      $contents1 = fread($file1, filesize($upload_file1));
      $encoded_attach1 = chunk_split(base64_encode($contents1));
      fclose($file1);}
      
      if(file_exists($upload_file2)) {
      $file2 = fopen($upload_file2, "r");
      $contents2 = fread($file2, filesize($upload_file2));
      $encoded_attach2 = chunk_split(base64_encode($contents2));
      fclose($file2);}
      
      
      $frontiere = '-----=' . md5(uniqid(mt_rand()));
      
      $titre=$REC_PostulerOffre.': '.$f_Reference;
      $tete="From:".$f_Email."\n";
      $tete.='MIME-Version: 1.0'."\n";
      $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
      
      $tete.= '--'.$frontiere."\n";
      $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n";  
      $tete.= "Content-type: ".$attach_type2."; name=".$upload_file2."\n";    
      $tete.= "Content-Length:".filesize($upload_file1)."\n";    
      $tete.= "Content-Length:".filesize($upload_file2)."\n";    
      $tete.= "Content-transfer-Encoding: BASE64\n";
      $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n";
      $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n";
      $tete.= $encoded_attach1."\n";
      $tete.= $encoded_attach2."\n";
      $tete.= '--'.$frontiere.'--'."\n";
      
      // Création du message
      $corps.=$REC_Nom.": ".$f_Nom."\n";
      $corps.=$REC_Email.": ".$f_Email."\n";
      $corps.=$REC_Curriculum.": ".$f_Curriculum."\n";
      $corps.=$REC_Motivation.": ".$f_Motivation."\n";
      
      if(mail(MAIL_WEBMASTER, $titre, stripslashes($corps), $tete)){$ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}
      }}
      
      }}
      
      ?>
      0
      1. J'ai réussiiiiiiiiiiiiiiiiiiiiiiii !!!!!!!!!!!!!!!!!!
        Wouuuuuuuuuuuhouuuuuuuuuuuuuu !!!!

        Il existe une légère petite erreur, le corps du mail n'est pas au format html...
        Biensûre le code a besoin de se "nettoyer" mais si déjà je peux avoir une petite aide sur le html :$

        <?php
        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_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom)));
        $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email)));
        
        // Verification des champs
        if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;}
        if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; }
        else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}}
        if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;}
        if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;}
        
        
        if($erreur==""){
        
        $upload_file1 = $_FILES['f_Curriculum']['name'];
        $upload_file2 = $_FILES['f_Motivation']['name'];
        
        
        if (move_uploaded_file($_FILES['f_Curriculum']['tmp_name'], $upload_file1)) {
        	$ext1 = explode(".", basename($_FILES['f_Curriculum']['name']));
        switch($ext1[1]) {default: $attach_type1 = "application/octet-stream"; break;
        case "gz": $attach_type1 = "application/x-gzip"; break;
        case "tgz": $attach_type1 = "application/x-gzip"; break;
        case "zip": $attach_type1 = "application/zip"; break;
        case "pdf": $attach_type1 = "application/pdf"; break;
        case "png": $attach_type1 = "image/png"; break;
        case "gif": $attach_type1 = "image/gif"; break;
        case "jpg": case"jpeg": $attach_type1 = "image/jpeg"; break;
        case "txt": $attach_type1 = "text/plain"; break;
        case "htm": $attach_type1 = "text/html"; break;
        case "html": $attach_type1 = "text/html"; break;}
        
        if (move_uploaded_file($_FILES['f_Motivation']['tmp_name'], $upload_file2)) {
        	$ext2 = explode(".", basename($_FILES['f_Motivation']['name']));
        switch($ext2[1]) {default: $attach_type2 = "application/octet-stream"; break;
        case "gz": $attach_type2 = "application/x-gzip"; break;
        case "tgz": $attach_type2 = "application/x-gzip"; break;
        case "zip": $attach_type2 = "application/zip"; break;
        case "pdf": $attach_type2 = "application/pdf"; break;
        case "png": $attach_type2 = "image/png"; break;
        case "gif": $attach_type2 = "image/gif"; break;
        case "jpg": case"jpeg": $attach_type2 = "image/jpeg"; break;
        case "txt": $attach_type2 = "text/plain"; break;
        case "htm": $attach_type2 = "text/html"; break;
        case "html": $attach_type2 = "text/html"; break;}
        
        
        if(file_exists($upload_file1)) {
        $file1 = fopen($upload_file1, "r");
        $contents1 = fread($file1, filesize($upload_file1));
        $encoded_attach1 = chunk_split(base64_encode($contents1));
        fclose($file1);}
        
        if(file_exists($upload_file2)) {
        $file2 = fopen($upload_file2, "r");
        $contents2 = fread($file2, filesize($upload_file2));
        $encoded_attach2 = chunk_split(base64_encode($contents2));
        fclose($file2);}
        
        
        $frontiere = '-----=' . md5(uniqid(mt_rand()));
        
        $titre=$REC_OffreEmploi;
        
        $tete="From:".$f_Email."\n";
        $tete.='MIME-Version: 1.0'."\n";
        $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
        
        $tete.= '--'.$frontiere."\n";
        $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n";      
        $tete.= "Content-Length:".filesize($upload_file1)."\n";     
        $tete.= "Content-transfer-Encoding: BASE64\n";
        $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n";
        $tete.= $encoded_attach1."\n";
        $tete.= '--'.$frontiere."\n";
        $tete.= "Content-type: ".$attach_type2."; name=".$$upload_file2."\n";  
        $tete.= "Content-Length:".filesize($upload_file2)."\n";    
        $tete.= "Content-transfer-Encoding: BASE64\n";
        $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n";
        $tete.= $encoded_attach2."\n";
        $tete.= '--'.$frontiere."\n";
        
        // Création du message
        $corps="<div style='padding: 10px; background: url(../images/whitey-fabric.png) repeat scroll left top rgb(230, 230, 230);border: 1px dashed rgb(179, 179, 179); -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; -moz-box-sizing: border-box;-webkit-box-shadow:1px 1px 0px rgb(255, 255, 255); -moz-box-shadow:1px 1px 0px rgb(255, 255, 255); box-shadow:1px 1px 0px rgb(255, 255, 255);font-family:Courier New'>";
        $corps.=$CONTACT_NOMPRENOM.		$Espace06." : ".$f_Nom."\n";
        $corps.=$CONTACT_EMAIL.			$Espace07." : ".$f_Email."\n\n";
        $corps.=$REC_Curriculum.		$Espace04." : ".$upload_file1."\n";
        $corps.=$REC_Motivation.		$Espace00." : ".$upload_file2."\n</div>";
        
        if(mail(MAIL_WEBMASTER, $titre, stripslashes($corps), $tete)){$ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}
        }}
        
        }}
        
        ?>
        0
        1. Tu as définis les entêtes HTML du mail ? Sinon je pourrais pas trop t'aider à ce niveau, les mails et moi ca fait 2
          0
      2. Oui, je penses... enfin, quand on dit :
        $titre=$REC_OffreEmploi;
        
        $tete="From:".$f_Email."\n";
        $tete.='MIME-Version: 1.0'."\n";
        $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
        
        $tete.= '--'.$frontiere."\n";
        $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n";      
        $tete.= "Content-Length:".filesize($upload_file1)."\n";     
        $tete.= "Content-transfer-Encoding: BASE64\n";
        $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n";
        $tete.= $encoded_attach1."\n";
        $tete.= '--'.$frontiere."\n";
        $tete.= "Content-type: ".$attach_type2."; name=".$$upload_file2."\n";  
        $tete.= "Content-Length:".filesize($upload_file2)."\n";    
        $tete.= "Content-transfer-Encoding: BASE64\n";
        $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n";
        $tete.= $encoded_attach2."\n";
        $tete.= '--'.$frontiere."\n";
        
        // Création du message
        $corps="<div style='font-family:Courier New'>";
        $corps.=$CONTACT_NOMPRENOM.		$Espace06." : ".$f_Nom."\n";
        $corps.=$CONTACT_EMAIL.			$Espace07." : ".$f_Email."\n\n";
        $corps.=$REC_Curriculum.		$Espace04." : ".$upload_file1."\n";
        $corps.=$REC_Motivation.		$Espace00." : ".$upload_file2."\n</div>";


        Rien que le
        $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";

        devait normalement le faire afficher !
        Sans la frontière, je le reçois en html, mais lorsque je le met au boundary (frontière), j'ai ce problème...
        0
        1. Mets quand même le <doctype> et tout ce qui suit (<html>,<head> etc...). Même pour un mail il faut le mettre puisque ca reste du HTML

          Après, je ne saurais t'aider plus
          0