Envois pièce jointe

Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - Modifié par Sinistrus le 16/08/2013 à 15:36
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 - 22 août 2013 à 23:38
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

BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
16 août 2013 à 15:51
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
16 août 2013 à 16:14
 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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
16 août 2013 à 16:24
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
16 août 2013 à 16:21
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
16 août 2013 à 16:43
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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
16 août 2013 à 16:51
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
16 août 2013 à 17:08
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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
Modifié par BlackYoup le 16/08/2013 à 18:10
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
20 août 2013 à 19:25
Non... je n'y arrives pas !
J'ai beau travailler dessus... je suis crevé !
0
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
20 août 2013 à 19:41
Tu en es rendu ou ?
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
21 août 2013 à 09:50
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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
21 août 2013 à 22:47
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
22 août 2013 à 11:36
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
22 août 2013 à 13:39
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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
22 août 2013 à 19:58
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 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
22 août 2013 à 22:44
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 mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
22 août 2013 à 23:38
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