Envois pièce jointe

Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -
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>";}}}
}
?>
A voir également:

10 réponses

BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
Salut :)

Je pense qu'il va falloir que tu regardes du coté des boundary
https://www.php.net/manual/fr/function.mail.php
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
 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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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
Utilisateur anonyme
 
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
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Non... je n'y arrives pas !
J'ai beau travailler dessus... je suis crevé !
0
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
Tu en es rendu ou ?
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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
BlackYoup Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   20
 
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