Comment faire marcher bouton attachement dans mon formulaire?

Résolu/Fermé
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018 - 27 janv. 2018 à 04:45
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018 - 2 févr. 2018 à 00:38
Bonjour,

J'ai un formulaire HTML lier avec un PHP, et l'envoie email fonctionne très bien, Mais j'ai besoin de faire fonctionner le bouton PARCOURIR afin que seul des fichiers images puisse être attaché et ajouté à l'envoie du message (jumeler à $message). Est-ce que quelqu'un pourrait bien m'aider svp? Merci d'avance.

voici mon code HTML:



<!DOCTYPE html PUBLIC "monsite.com" "http://www.monsite.com/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.monsite.com">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>monsite</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/tooplate_style.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />

<script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>

<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/ddsmoothmenu.js">

/***********************************************
  • Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.monsite.com)
  • This notice MUST stay intact for legal use
  • Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
                                                                                              • /


</script>

<script type="text/javascript">
<!--
ddsmoothmenu.init({
mainmenuid: "tooplate_menu", //menu DIV id
orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
classname: 'ddsmoothmenu', //class added to menu's outer DIV
//customtheme: ["#1c5a80", "#18374a"],
contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>

<style type="text/css">
<!--
.style1 {color: #0066CC}
.style2 { color: #FFFFFF;
font-weight: bold;
font-size: 14px;
}
.style3 {color: #FFFFFF}
.style4 {color: #FF0000}
.style5 {
font-size: 16px;
font-weight: bold;
}
-->
</style>
</head>
<body>

<div id="tooplate_wrapper">
<div id="tooplate_header">
<div id="site_title">
<h1><a href="#">Curtain Store</a></h1>
</div>

<div id="tooplate_menu" class="ddsmoothmenu">
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="a propos.html">À Propos</a>
<li><a href="nos produits.html">Nos Produits</a>
<ul>
<li><a href="enveloppes.html">Enveloppes</a></li>
<li><a href="cartes d'affaires.html">Cartes d'affaires</a></li>
<li><a href="étiquettes.html">Étiquettes</a></li>
<li><a href="impression dvd.html">Impression DVD</a></li>
<li><a href="impression cd.html">Impression CD</a></li>
</ul>
</li>
<li><a href="soumission.html" class="selected">Soumission</a></li>
<li><a href="contactez nous.html">Contactez-nous</a></li>
</ul>
<br style="clear: left" />
</div> <!-- end of menu -->

<div id="tooplate_search">
<div id="div"><a href="quote.html" class="style1"><span class="style2">English</span></a></div>
</div>
</div>

<div id="tooplate_main">
<div id="tooplate_sidebar">
<div class="sb_box">
<h3>Catégories </h3>
<ul class="sb_menu">
<li><a href="livraison.html">Délais de livraison </a></li>
<li><a href="production-fr.html">Délais de production </a></li>
<li><a href="prix.html">Prix et détails </a></li>
<li><a href="termes.html">Termes et Conditions</a></li>
</ul>
</div>
<div class="sb_box">
<h3>Suivez nous </h3>
<a href="#"><img src="images/facebook-32x32.png" title="facebook" alt="facebook" /></a> <a href="#"></a> <a href="#"><img src="images/twitter-32x32.png" title="twitter" alt="twitter" /></a> <a href="#"><img src="images/youtube-32x32.png" title="youtube" alt="youtube" /></a> </div>
</div>
<!-- end of sidebar -->

<div id="tooplate_content">
<div class="post_box">
<h2>Soumission</h2>
<div class="post_meta style3">Veuillez SVP utiliser ce formulaire uniquement pour les demandes de prix qui ne sont pas dejà sur notre site. Merci!</div>
<p class="style4"><strong>Tous les champs en rouge sont requis </strong></p>
<form name="form1" method="post" action="soumissionform.php">
<p><span class="style5">Demande de soumission </span></p>
<p>Nommez votre projet <span class="style4">* </span>
<input name="project" type="text" id="project">
</p>
<p>Type de produit
<span class="style4">* </span>
<select name="product" id="product">
<option>Veuillez choisir...</option>
<option>Enveloppes - </option>
<option>Cartes d'affaires</option>
<option>Étiquettes</option>
<option>Impression DVD</option>
<option>Impression CD</option>
<option>Autres</option>
</select>
</p>
<p>Quantité voulu <span class="style4">* </span>
<input name="quantity" type="text" id="quantity">
</p>
<p>Faites nous parvenir une image pour votre projet (si nécessaire)
<input name="browse" type="button" id="browse" value="Parcourir">
</p>
<p>En quelques lignes expliquez nous votre projet (le maximum de détail est toujours mieux) </p>
<p>
<textarea name="message" cols="50" rows="10"></textarea>
</p>
<p> </p>
<p class="style5">VOS INFORMATIONS </p>
<p>Prénom <span class="style4">* </span>
<input name="firstname" type="text" id="firstname">
Nom <span class="style4">* </span>
<input name="lastname" type="text" id="lastname">
</p>
<p>Courriel <span class="style4">* </span>
<input name="email" type="text" id="email">
</p>
<p>Entreprise
<input name="company" type="text" id="company">
</p>
<p>Téléphone <span class="style4">* </span>
<input name="phone" type="text" id="phone">
</p>
<p>Adresse <span class="style4">*</span>
<input name="address" type="text" id="address">
Ville <span class="style4">*</span>
<input name="city" type="text" id="city">
</p>
<p>Province <span class="style4">*</span>
<input name="state" type="text" id="state" size="4" maxlength="2">
Code Postal <span class="style4">*</span>
<input name="postalcode" type="text" id="postalcode" size="10" maxlength="7">
</p>
<p>Pays <span class="style4">*</span>
<input name="country" type="text" id="country">
</p>
<p>Êtes-vous revendeur ? <span class="style4">* </span>
<input name="reseller" type="radio" value="Yes">
Oui
<input name="reseller" type="radio" value="no">
Non </p>
<p>
<input name="submit" type="submit" id="submit" onClick="MM_validateForm('project','','R','quantity','','R','firstname','','R','lastname','','R','email','','RisEmail','company','','R','phone','','RisNum','address','','R','city','','R','state','','R','postalcode','','R','country','','R');return document.MM_returnValue" value="Envoyer votre soumission">
<input name="reset" type="reset" id="reset" value="Effacer">
</p>
<p> </p>
</form>
</div>

</div>
<div class="cleaner"></div>
</div> <!-- end of main -->

<div id="tooplate_footer">Copyright © monsite </div>
</div>

</body>
</html>

et voici mon code PHP:

<?php
if(isset($_POST['submit'])){
$to = "info@monemail.com"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$subject = "Soumission - monsite.com";
$subject2 = "Copie de soumission - monsite.com";
$message = 'INFORMATION DE SOUMISSION '."\n"
.'Nom du projet: '.$_POST['project']."\n"
.'Type de produit: '.$_POST['product']."\n"
.'Quantité demandé: '.$_POST['quantity']."\r\n\r\n"
.'Message: '.$_POST['message']."\r\n\r\n"
.'INFORMATION DU CLIENT '."\n"
.'Prénom: '.$_POST['firstname']."\n"
.'Nom: '.$_POST['lastname']."\n"
.'Courriel: '.$_POST['email']."\n"
.'Entreprise: '.$_POST['company']."\n"
.'Téléphone: '.$_POST['phone']."\n"
.'Adresse: '.$_POST['address']."\n"
.'Ville: '.$_POST['city']."\n"
.'Province: '.$_POST['state']."\n"
.'Code Postal: '.$_POST['postalcode']."\n"
.'Pays: '.$_POST['country']."\n"
.'Revendeur: '.$_POST['reseller'];
$message2 = "Bonjour " . $firstname . " " . $lastname . ",\r\n\r\nMerci d'avoir choisi Monsite.com.\r\n\r\nCe courriel confirme que votre soumission a bien été reçu et que nous vous répondrons dans les plus bref délais.\r\n\r\nVoici une copie de votre demande de soumission envoyé: \r\n" . $message . "\r\n\r\n\r\n"
.'Nous apprécions votre intérêt envers notre compagnie.'."\r\n\r\n"
.'Équipe Service à la clientèle'."\r\n"
.'Monsite.com';
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to, $subject, $message, $headers);
mail($from, $subject2, $message2, $headers2); // sends a copy of the message to the sender
header('location: merci-soumission.html');
} else {
header('location: soumission.html');
}
?>

4 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
27 janv. 2018 à 10:16
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
27 janv. 2018 à 21:55
Allo Jordane!

merci d'être aussi efficace à répondre. Je ne suis pas spécialiste dans les codes, j'aime bien me débrouiller par contre mais la je suis rendu a une étape ou je me perd. Si je me fis a ton premier lien, c'est un script pour attachement dans HTML ce que j'ai tenté de faire, par contre, ma page est en francais et il garde les boutons avec un texte anglophone.
D'autant plus, que je ne comprend pas comment je peux ajouter ceci et le lier avec le php sans rien brisé de mon script intial pour l'envoie. Car comme dis plus tot, mes script fonctionne pour le l'envoie de courriel de mes formulaire, mais c'est juste ca qu'il me reste a ajouter.
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
31 janv. 2018 à 05:53
Allo, besoin d’aide pour finir mon site, il ne manque que cela. Est ce que quelqu’un pourrait me depanner?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
31 janv. 2018 à 09:18

par contre, ma page est en francais et il garde les boutons avec un texte anglophone.

Hein ?
Il affiche ce que tu lui donnes... il ne traduit pas lui-même le texte....


c'est un script pour attachement dans HTML ce que j'ai tenté de faire

Donc montre nous ce que tu as fait (en ayant appliqué ce qui est donné dans les liens que je t'ai donné)


je ne comprend pas comment je peux ajouter ceci et le lier avec le php sans rien brisé de mon script intial pour l'envoie

Sachant qu'il ne faut pas simplement copier les exemples qui te sont donnés..... mais t'en servir pour "compléter"/"modifer" ton script existant .
Comme par exemple, préciser le enctype dans ton FORM

Ensuite pour récupérer le fichier, tu dois utiliser la variable $_FILES (tu trouveras de la doc sur internet)

Et pour finir, pour pouvoir envoyer un fichier dans un mail.. il faut modifier les headers que tu envoies dans la fonction mail

Tu pourrais te servir (ou t'inspirer) de la fonction suivante :
/**
*  $attach : array contenant les fichiers à envoyer
*/
function sendEmail($to,$from ='moi',$subject='sujet mail',$message="",$attach = NULL){

 $headers = "From: $from";
 
  // boundary 
  $semi_rand = md5(time()); 
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
 
  // headers for attachment 
  $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 
 
  // multipart boundary 
  $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; 
  $message .= "--{$mime_boundary}\n";

  //-------------------------------------------------------//
  //Ajout des pieces jointes si il y en a
  if(!empty($attach)){
    foreach($attach as $pj){
      $file = fopen($pj,"rb");
      $data = fread($file,filesize($pj));
      fclose($file);
      $data = chunk_split(base64_encode($data));
      $fileName = basename($pj);
      $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$pj\"\n" . 
                  "Content-Disposition: attachment;\n" . " filename=\"$fileName\"\n" . 
                  "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
      $message .= "--{$mime_boundary}\n";    
    }
  }

  // send
  if(mail($destinataire, $from,  $sujet, $message)) { 
    return true;
  } else { 
    return false;
  } 
}
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
Modifié le 1 févr. 2018 à 09:02
Salut Jordane,

en fait voici mon code HTML suite a ton lien (tu y verras que j'ai du mettre 3 boutons de browser au lieu de 1, mais le titre du bouton lui même apparait comme : BROWSER au lieu de PARCOURIR et je ne vois pas comment le modifier):

<!DOCTYPE html PUBLIC "website.com" "http://www.website.com/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.website.com"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>website</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/tooplate_style.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />

<script language="javascript" type="text/javascript">
function clearText(field)
{
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}
</script>

<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/ddsmoothmenu.js">

/***********************************************


* Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.website.com)

* This notice MUST stay intact for legal use

* Visit Dynamic Drive at [http://www.dynamicdrive.com/] for full source code

**
***
****
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
*****************
******************
*******************
********************
*********************
**********************
***********************
************************
*************************
**************************
***************************
****************************
*****************************
******************************
*******************************
********************************
*********************************
**********************************
***********************************
************************************
*************************************
**************************************
***************************************
****************************************
*****************************************
******************************************
*******************************************
********************************************
*********************************************
**********************************************
***********************************************/

</script>

<script type="text/javascript">
<!--
ddsmoothmenu.init({
 mainmenuid: "tooplate_menu", //menu DIV id
 orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
 classname: 'ddsmoothmenu', //class added to menu's outer DIV
 //customtheme: ["#1c5a80", "#18374a"],
 contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>

<style type="text/css">
<!--
.style1 {color: #0066CC}
.style2 { color: #FFFFFF;
 font-weight: bold;
 font-size: 14px;
}
.style3 {color: #FFFFFF}
.style4 {color: #FF0000}
.style5 {
 font-size: 16px;
 font-weight: bold;
}
.style6 {font-size: 12px}
-->
</style>
</head>
<body>

<div id="tooplate_wrapper">
 <div id="tooplate_header">
     <div id="site_title">
         <h1><a href="#">Curtain Store</a></h1>
        </div>
        
        <div id="tooplate_menu" class="ddsmoothmenu">
            <ul>
                <li><a href="index.html">Accueil</a></li>
                <li><a href="a propos.html">À Propos</a>
                <li><a href="nos produits.html">Nos Produits</a>
                    <ul>
                        <li><a href="enveloppes.html">Enveloppes</a></li>
                        <li><a href="cartes d'affaires.html">Cartes d'affaires</a></li>
                        <li><a href="étiquettes.html">Étiquettes</a></li>
                        <li><a href="impression dvd.html">Impression DVD</a></li>
                        <li><a href="impression cd.html">Impression CD</a></li>
                   </ul>
              </li>
              <li><a href="soumission.html" class="selected">Soumission</a></li>
              <li><a href="contactez nous.html">Contactez-nous</a></li>
            </ul>
            <br style="clear: left" />
        </div> <!-- end of menu -->
    
     <div id="tooplate_search">
       <div id="div"><a href="quote.html" class="style1"><span class="style2">English</span></a></div>
     </div>
    </div>
    
    <div id="tooplate_main">
      <div id="tooplate_sidebar">
        <div class="sb_box">
          <h3>Catégories </h3>
          <ul class="sb_menu">
            <li><a href="livraison.html">Délais de livraison </a></li>
            <li><a href="production-fr.html">Délais de production </a></li>
            <li><a href="prix.html">Prix et détails </a></li>
            <li><a href="termes.html">Termes et Conditions</a></li>
          </ul>
        </div>
        <div class="sb_box">
          <h3>Suivez nous </h3>
        <a href="#"><img src="images/facebook-32x32.png" title="facebook" alt="facebook" /></a> <a href="#"></a> <a href="#"><img src="images/twitter-32x32.png" title="twitter" alt="twitter" /></a> <a href="#"><img src="images/youtube-32x32.png" title="youtube" alt="youtube" /></a> </div>
      </div>
      <!-- end of sidebar -->
      
      <div id="tooplate_content">
     <div class="post_box"> 
                    <h2>Soumission</h2>
           <div class="post_meta style3">Veuillez SVP utiliser ce formulaire uniquement pour les demandes de prix qui ne sont pas dejà sur notre site. Merci!</div>
                   <p class="style4"><strong>Tous les champs en rouge sont requis  </strong></p>
  <form name="form1" method="post" action="soumissionform.php">
          <p><span class="style5">Demande de soumission </span></p>
    <form action="" method="post" enctype="multipart/form-data">
<p>Nommez votre projet <span class="style4">* </span>
  <input name="project" type="text" id="project">
</p>
<p>Type de produit <span class="style4">* </span>
    <select name="product" id="product">
      <option>Veuillez choisir...</option>
      <option>produit 1</option>
      <option>produit 2</option>
      <option>produit 3</option>
      <option>produit 4</option>
      <option>produit 5</option>
      <option>produit 6</option>
        </select>
</p>
<p>Quantité voulu <span class="style4">* </span>
    <input name="quantity" type="text" id="quantity">
</p>
<p> </p>
<p>Faites nous parvenir jusqu'à 3 images pour votre projet (si nécessaire)
</p>
<p>
  <input name="pictures" type="file" id="pictures" />
</p>
<p>
  <input name="pictures" type="file" id="pictures" />
  </p>
<p>
  <input name="picture3" type="file" id="picture3" />
</p>
<p> </p>
<p>En quelques lignes expliquez nous votre projet (le maximum de détail est toujours mieux) </p>
<p>
  <textarea name="message" cols="50" rows="10"></textarea>
</p>
<p> </p>
<p class="style5">VOS INFORMATIONS </p>
<p>Prénom <span class="style4">* </span>
    <input name="firstname" type="text" id="firstname">
  Nom <span class="style4">* </span>
  <input name="lastname" type="text" id="lastname">
</p>
<p>Courriel <span class="style4">* </span>
    <input name="email" type="text" id="email">
</p>
<p>Entreprise
  <input name="company" type="text" id="company">
</p>
<p>Téléphone <span class="style4">* </span>
    <input name="phone" type="text" id="phone">
</p>
<p>Adresse <span class="style4">*</span>
    <input name="address" type="text" id="address">
  Ville <span class="style4">*</span>
  <input name="city" type="text" id="city">
</p>
<p>Province <span class="style4">*</span>
    <input name="state" type="text" id="state" size="4" maxlength="2">
  Code Postal <span class="style4">*</span>
  <input name="postalcode" type="text" id="postalcode" size="10" maxlength="7">
</p>
<p>Pays <span class="style4">*</span>
    <input name="country" type="text" id="country">
</p>
<p>Êtes-vous revendeur ? <span class="style4">* </span>
    <input name="reseller" type="radio" value="Yes">
  Oui
  <input name="reseller" type="radio" value="no">
  Non </p>
<p>
  <input name="submit" type="submit" id="submit" onClick="MM_validateForm('project','','R','quantity','','R','firstname','','R','lastname','','R','email','','RisEmail','company','','R','phone','','RisNum','address','','R','city','','R','state','','R','postalcode','','R','country','','R');return document.MM_returnValue" value="Envoyer votre soumission">
  <input name="reset" type="reset" id="reset" value="Effacer">
</p>
<p> </p>
    </form>
   
    </form>


</p>
    <p> </p>
    </form>
   </p>
  <p>
    </form>
    <br>
    </form>
        </p>
  </div>
                
                </div>
            <div class="cleaner"></div>
  </div> <!-- end of main -->
    
    <div id="tooplate_footer">Copyright © website </div>
</div>

</body>
</html>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
Modifié le 1 févr. 2018 à 09:03
et voici les changements que j'ai apporté au PHP suite a ton dernier courriel:
l'email fonctionne toujours mais sans attachement à nouveau.


<?php 
/**


*  $attach : array contenant les fichiers à envoyer

*/
function sendEmail($to,$from ='moi',$subject='sujet mail',$message="",$attach = NULL){

 $headers = "From:" . $from;
 
  // boundary 
  $semi_rand = md5(time()); 
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
 
  // headers for attachment 
  $header3 .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 
 
  // multipart boundary 
  $message3 = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message3 . "\n\n"; 
  $message3 .= "--{$mime_boundary}\n";

  //-------------------------------------------------------//
  //Ajout des pieces jointes si il y en a
  if(!empty($attach)){
    foreach($attach as $pj){
      $file = fopen($pj,"rb");
      $data = fread($file,filesize($pj));
      fclose($file);
      $data = chunk_split(base64_encode($data));
      $fileName = basename($pj);
      $message3 .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$pj\"\n" . 
                  "Content-Disposition: attachment;\n" . " filename=\"$fileName\"\n" . 
                  "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
      $message3 .= "--{$mime_boundary}\n";    
    }
  }

  // send
  if(mail($destinataire, $from,  $sujet, $message)) { 
    return true;
  } else { 
    return false;
  } 
}
if(isset($_POST['submit'])){
    $to = "info@website.com"; // this is your Email address
    $from = $_POST['email']; // this is the sender's Email address
 $firstname = $_POST['firstname'];
 $lastname = $_POST['lastname'];
    $subject = "Soumission - website.com";
    $subject2 = "Copie de soumission - website.com";
    $message = 'INFORMATION DE SOUMISSION '."\n"
 .'Nom du projet: '.$_POST['project']."\n"
 .'Type de produit: '.$_POST['product']."\n"
 .'Quantité demandé: '.$_POST['quantity']."\r\n\r\n"
 .'Message: '.$_POST['message']."\r\n\r\n"
 .'INFORMATION DU CLIENT '."\n"
 .'Prénom: '.$_POST['firstname']."\n"
 .'Nom: '.$_POST['lastname']."\n"
 .'Courriel: '.$_POST['email']."\n"
 .'Entreprise: '.$_POST['company']."\n"
 .'Téléphone: '.$_POST['phone']."\n"
 .'Adresse: '.$_POST['address']."\n"
 .'Ville: '.$_POST['city']."\n"
 .'Province: '.$_POST['state']."\n"
 .'Code Postal: '.$_POST['postalcode']."\n"
 .'Pays: '.$_POST['country']."\n"
 .'Revendeur: '.$_POST['reseller'];
    $message2 = "Bonjour " . $firstname . " " . $lastname . ",\r\n\r\nMerci d'avoir choisi website.com.\r\n\r\nCe courriel confirme que votre soumission a bien été reçu et que nous vous répondrons dans les plus bref délais.\r\n\r\nVoici une copie de votre demande de soumission envoyé: \r\n" . $message . "\r\n\r\n\r\n""Voici vos images en attachement " . $message3 . "
 .'Nous apprécions votre intérêt envers notre compagnie.'."\r\n\r\n"
 .'Équipe Service à la clientèle'."\r\n"
 .'website.com';
 $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to, $subject, $message, $headers);
    mail($from, $subject2, $message2, $headers2); // sends a copy of the message to the sender
 header('location: merci-soumission.html');
} else {
 header('location: soumission.html');
}
?>


EDIT : Ajout des balises de code !
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
1 févr. 2018 à 09:08
Bonjour,

Pourquoi as tu imbriqué plusieurs FORM ?? ça n'a aucun sens !
  <form name="form1" method="post" action="soumissionform.php">
          <p><span class="style5">Demande de soumission </span></p>
    <form action="" method="post" enctype="multipart/form-data">


Il fallait juste que tu mettes le enctype DANS TON PREMIER FORM
<form name="form1" method="post" action="soumissionform.php"  enctype="multipart/form-data">


Ensuite, concernant ton code php ....
Avoir collé ma fonction d'envoie de mail c'est bien ..... y faire appel ça serait mieux !!!

Et puis je ne vois aucune ligne de code pour traiter les fichiers ....
Où récupères tu les fichiers ? (via la variable $_FILES ) ??
https://www.php.net/manual/fr/reserved.variables.files.php

Voici un exemple que tu peux essayer de comprendre qui sert à uploader un fichier sur le serveur en php
https://www.commentcamarche.net/faq/889-php-upload-de-fichiers




0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
1 févr. 2018 à 20:32
Merci pour la page HTML. j'ai apporté ma correction (et au lieu de 3 images je l'ai réduite à 2): Il semble être correct:

<!DOCTYPE html PUBLIC "website.com" "http://www.website.com/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.website.com"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>website</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/tooplate_style.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />

<script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>

<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/ddsmoothmenu.js">

/***********************************************
  • Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.website.com)* This notice MUST stay intact for legal use* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code***********************************************/</script><script type="text/javascript"><!--ddsmoothmenu.init({ mainmenuid: "tooplate_menu", //menu DIV id orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v" classname: 'ddsmoothmenu', //class added to menu's outer DIV //customtheme: ["#1c5a80", "#18374a"], contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]})function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x;}function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } } if (errors) alert('The following error(s) occurred:\n'+errors); document.MM_returnValue = (errors == '');}//--></script><style type="text/css"><!--.style1 {color: #0066CC}.style2 { color: #FFFFFF; font-weight: bold; font-size: 14px;}.style3 {color: #FFFFFF}.style4 {color: #FF0000}.style5 { font-size: 16px; font-weight: bold;}.style6 {font-size: 12px}--></style></head><body><div id="tooplate_wrapper"> <div id="tooplate_header"> <div id="site_title"> <h1><a href="#">Curtain Store</a></h1> </div> <div id="tooplate_menu" class="ddsmoothmenu"> <ul> <li><a href="index.html">Accueil</a></li> <li><a href="a propos.html">À Propos</a> <li><a href="nos produits.html">Nos Produits</a> <ul> <li><a href="enveloppes.html">Enveloppes</a></li> <li><a href="cartes d'affaires.html">Cartes d'affaires</a></li> <li><a href="étiquettes.html">Étiquettes</a></li> <li><a href="impression dvd.html">Impression DVD</a></li> <li><a href="impression cd.html">Impression CD</a></li> </ul> </li> <li><a href="soumission.html" class="selected">Soumission</a></li> <li><a href="contactez nous.html">Contactez-nous</a></li> </ul> <br style="clear: left" /> </div> <!-- end of menu --> <div id="tooplate_search"> <div id="div"><a href="quote.html" class="style1"><span class="style2">English</span></a></div> </div> </div> <div id="tooplate_main"> <div id="tooplate_sidebar"> <div class="sb_box"> <h3>Catégories </h3> <ul class="sb_menu"> <li><a href="livraison.html">Délais de livraison </a></li> <li><a href="production-fr.html">Délais de production </a></li> <li><a href="prix.html">Prix et détails </a></li> <li><a href="termes.html">Termes et Conditions</a></li> </ul> </div> <div class="sb_box"> <h3>Suivez nous </h3> <a href="#"><img src="images/facebook-32x32.png" title="facebook" alt="facebook" /></a> <a href="#"></a> <a href="#"><img src="images/twitter-32x32.png" title="twitter" alt="twitter" /></a> <a href="#"><img src="images/youtube-32x32.png" title="youtube" alt="youtube" /></a> </div> </div> <!-- end of sidebar --> <div id="tooplate_content"> <div class="post_box"> <h2>Soumission</h2> <div class="post_meta style3">Veuillez SVP utiliser ce formulaire uniquement pour les demandes de prix qui ne sont pas dejà sur notre site. Merci!</div> <p class="style4"><strong>Tous les champs en rouge sont requis </strong></p> <form name="form1" method="post" action="testattachment.php" enctype="multipart/form-data"><p>Nommez votre projet <span class="style4">* </span> <input name="project" type="text" id="project"></p><p>Type de produit <span class="style4">* </span> <select name="product" id="product"> <option>Veuillez choisir...</option> <option>produit 1</option> <option>produit 2</option> <option>produit 3</option> <option>produit 4</option> <option>produit 5</option> <option>produit 6</option> </select></p><p>Quantité voulu <span class="style4">* </span> <input name="quantity" type="text" id="quantity"></p><p> </p><p>Faites nous parvenir jusqu'à 2 images pour votre projet (si nécessaire)</p><p> <input name="file" type="file" id="pictures" /></p><p> <input name="file" type="file" id="pictures" /></p><p> </p><p>En quelques lignes expliquez nous votre projet (le maximum de détail est toujours mieux) </p><p> <textarea name="message" cols="50" rows="10"></textarea></p><p> </p><p class="style5">VOS INFORMATIONS </p><p>Prénom <span class="style4">* </span> <input name="firstname" type="text" id="firstname"> Nom <span class="style4">* </span> <input name="lastname" type="text" id="lastname"></p><p>Courriel <span class="style4">* </span> <input name="email" type="text" id="email"></p><p>Entreprise <input name="company" type="text" id="company"></p><p>Téléphone <span class="style4">* </span> <input name="phone" type="text" id="phone"></p><p>Adresse <span class="style4">*</span> <input name="address" type="text" id="address"> Ville <span class="style4">*</span> <input name="city" type="text" id="city"></p><p>Province <span class="style4">*</span> <input name="state" type="text" id="state" size="4" maxlength="2"> Code Postal <span class="style4">*</span> <input name="postalcode" type="text" id="postalcode" size="10" maxlength="7"></p><p>Pays <span class="style4">*</span> <input name="country" type="text" id="country"></p><p>Êtes-vous revendeur ? <span class="style4">* </span> <input name="reseller" type="radio" value="Yes"> Oui <input name="reseller" type="radio" value="no"> Non </p><p> <input name="submit" type="submit" id="submit" onClick="MM_validateForm('project','','R','quantity','','R','firstname','','R','lastname','','R','email','','RisEmail','company','','R','phone','','RisNum','address','','R','city','','R','state','','R','postalcode','','R','country','','R');return document.MM_returnValue" value="Envoyer votre soumission"> <input name="reset" type="reset" id="reset" value="Effacer"></p><p> </p> </form> </form></p> <p> </p> </form>  </p> <p> </form> <br> </form> </p> </div> </div> <div class="cleaner"></div> </div> <!-- end of main --> <div id="tooplate_footer">Copyright © website </div></div></body></html>
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
1 févr. 2018 à 20:33
OUPS voila pour HTML, désolé pour le lien précédent:

<!DOCTYPE html PUBLIC "website.com" "http://www.website.com/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.website.com"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>website</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/tooplate_style.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />

<script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>

<link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/ddsmoothmenu.js">

/***********************************************
  • Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.website.com)
  • This notice MUST stay intact for legal use
  • Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
                                                                                              • /


</script>

<script type="text/javascript">
<!--
ddsmoothmenu.init({
mainmenuid: "tooplate_menu", //menu DIV id
orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
classname: 'ddsmoothmenu', //class added to menu's outer DIV
//customtheme: ["#1c5a80", "#18374a"],
contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>

<style type="text/css">
<!--
.style1 {color: #0066CC}
.style2 { color: #FFFFFF;
font-weight: bold;
font-size: 14px;
}
.style3 {color: #FFFFFF}
.style4 {color: #FF0000}
.style5 {
font-size: 16px;
font-weight: bold;
}
.style6 {font-size: 12px}
-->
</style>
</head>
<body>

<div id="tooplate_wrapper">
<div id="tooplate_header">
<div id="site_title">
<h1><a href="#">Curtain Store</a></h1>
</div>

<div id="tooplate_menu" class="ddsmoothmenu">
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="a propos.html">À Propos</a>
<li><a href="nos produits.html">Nos Produits</a>
<ul>
<li><a href="enveloppes.html">Enveloppes</a></li>
<li><a href="cartes d'affaires.html">Cartes d'affaires</a></li>
<li><a href="étiquettes.html">Étiquettes</a></li>
<li><a href="impression dvd.html">Impression DVD</a></li>
<li><a href="impression cd.html">Impression CD</a></li>
</ul>
</li>
<li><a href="soumission.html" class="selected">Soumission</a></li>
<li><a href="contactez nous.html">Contactez-nous</a></li>
</ul>
<br style="clear: left" />
</div> <!-- end of menu -->

<div id="tooplate_search">
<div id="div"><a href="quote.html" class="style1"><span class="style2">English</span></a></div>
</div>
</div>

<div id="tooplate_main">
<div id="tooplate_sidebar">
<div class="sb_box">
<h3>Catégories </h3>
<ul class="sb_menu">
<li><a href="livraison.html">Délais de livraison </a></li>
<li><a href="production-fr.html">Délais de production </a></li>
<li><a href="prix.html">Prix et détails </a></li>
<li><a href="termes.html">Termes et Conditions</a></li>
</ul>
</div>
<div class="sb_box">
<h3>Suivez nous </h3>
<a href="#"><img src="images/facebook-32x32.png" title="facebook" alt="facebook" /></a> <a href="#"></a> <a href="#"><img src="images/twitter-32x32.png" title="twitter" alt="twitter" /></a> <a href="#"><img src="images/youtube-32x32.png" title="youtube" alt="youtube" /></a> </div>
</div>
<!-- end of sidebar -->

<div id="tooplate_content">
<div class="post_box">
<h2>Soumission</h2>
<div class="post_meta style3">Veuillez SVP utiliser ce formulaire uniquement pour les demandes de prix qui ne sont pas dejà sur notre site. Merci!</div>
<p class="style4"><strong>Tous les champs en rouge sont requis </strong></p>
<form name="form1" method="post" action="testattachment.php" enctype="multipart/form-data">
<p>Nommez votre projet <span class="style4">* </span>
<input name="project" type="text" id="project">
</p>
<p>Type de produit <span class="style4">* </span>
<select name="product" id="product">
<option>Veuillez choisir...</option>
<option>produit 1</option>
<option>produit 2</option>
<option>produit 3</option>
<option>produit 4</option>
<option>produit 5</option>
<option>produit 6</option>
</select>
</p>
<p>Quantité voulu <span class="style4">* </span>
<input name="quantity" type="text" id="quantity">
</p>
<p> </p>
<p>Faites nous parvenir jusqu'à 2 images pour votre projet (si nécessaire)
</p>
<p>
<input name="file" type="file" id="pictures" />
</p>
<p>
<input name="file" type="file" id="pictures" />
</p>
<p> </p>
<p>En quelques lignes expliquez nous votre projet (le maximum de détail est toujours mieux) </p>
<p>
<textarea name="message" cols="50" rows="10"></textarea>
</p>
<p> </p>
<p class="style5">VOS INFORMATIONS </p>
<p>Prénom <span class="style4">* </span>
<input name="firstname" type="text" id="firstname">
Nom <span class="style4">* </span>
<input name="lastname" type="text" id="lastname">
</p>
<p>Courriel <span class="style4">* </span>
<input name="email" type="text" id="email">
</p>
<p>Entreprise
<input name="company" type="text" id="company">
</p>
<p>Téléphone <span class="style4">* </span>
<input name="phone" type="text" id="phone">
</p>
<p>Adresse <span class="style4">*</span>
<input name="address" type="text" id="address">
Ville <span class="style4">*</span>
<input name="city" type="text" id="city">
</p>
<p>Province <span class="style4">*</span>
<input name="state" type="text" id="state" size="4" maxlength="2">
Code Postal <span class="style4">*</span>
<input name="postalcode" type="text" id="postalcode" size="10" maxlength="7">
</p>
<p>Pays <span class="style4">*</span>
<input name="country" type="text" id="country">
</p>
<p>Êtes-vous revendeur ? <span class="style4">* </span>
<input name="reseller" type="radio" value="Yes">
Oui
<input name="reseller" type="radio" value="no">
Non </p>
<p>
<input name="submit" type="submit" id="submit" onClick="MM_validateForm('project','','R','quantity','','R','firstname','','R','lastname','','R','email','','RisEmail','company','','R','phone','','RisNum','address','','R','city','','R','state','','R','postalcode','','R','country','','R');return document.MM_returnValue" value="Envoyer votre soumission">
<input name="reset" type="reset" id="reset" value="Effacer">
</p>
<p> </p>
</form>

</form>


</p>
<p> </p>
</form>
 </p>
<p>
</form>
<br>
</form>
</p>
</div>

</div>
<div class="cleaner"></div>
</div> <!-- end of main -->

<div id="tooplate_footer">Copyright © website </div>
</div>

</body>
</html>
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
1 févr. 2018 à 20:56
pour ce qui est du PHP, (je suis loin d'être expert dans la matière), mais j'ai suivi ton email au mieux que possible de mes compréhension et j'ai inscrit ceci "avec un erreur a la ligne 71 :-( " <?php
/**
  • $attach : array contenant les fichiers à envoyer
  • /

function sendEmail($to,$from ='moi',$subject='sujet mail',$message="",$attach = NULL){

$headers = "From:" . $from;

// boundary
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// headers for attachment
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";

// multipart boundary
$message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
$message .= "--{$mime_boundary}\n";

//-------------------------------------------------------//
//Ajout des pieces jointes si il y en a
if(!empty($attach)){
foreach($attach as $pj){
$file = fopen($pj,"rb");
$data = fread($file,filesize($pj));
fclose($file);
$data = chunk_split(base64_encode($data));
$fileName = basename($pj);
$message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$pj\"\n" .
"Content-Disposition: attachment;\n" . " filename=\"$fileName\"\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
$message .= "--{$mime_boundary}\n";
}
}

// send
if(mail($destinataire, $from, $sujet, $message)) {
return true;
} else {
return false;
}
}
if(isset($_POST['submit'])){
$to = "info@website.com"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$subject = "Soumission - website.com";
$subject2 = "Copie de soumission - website.com";
$file = $_FILES['file'];
$message = 'INFORMATION DE SOUMISSION '."\n"
.'Nom du projet: '.$_POST['project']."\n"
.'Type de produit: '.$_POST['product']."\n"
.'Quantité demandé: '.$_POST['quantity']."\r\n\r\n"
.'Message: '.$_POST['message']."\r\n\r\n"
.'INFORMATION DU CLIENT '."\n"
.'Prénom: '.$_POST['firstname']."\n"
.'Nom: '.$_POST['lastname']."\n"
.'Courriel: '.$_POST['email']."\n"
.'Entreprise: '.$_POST['company']."\n"
.'Téléphone: '.$_POST['phone']."\n"
.'Adresse: '.$_POST['address']."\n"
.'Ville: '.$_POST['city']."\n"
.'Province: '.$_POST['state']."\n"
.'Code Postal: '.$_POST['postalcode']."\n"
.'Pays: '.$_POST['country']."\n"
.'Revendeur: '.$_POST['reseller'];
.'Attachement: '.$_POST['file'];
$message2 = "Bonjour " . $firstname . " " . $lastname . ",\r\n\r\nMerci d'avoir choisi website.com.\r\n\r\nCe courriel confirme que votre soumission a bien été reçu et que nous vous répondrons dans les plus bref délais.\r\n\r\nVoici une copie de votre demande de soumission envoyé: \r\n" . $message . "\r\n\r\n\r\n"
.'Nous apprécions votre intérêt envers notre compagnie.'."\r\n\r\n"
.'Équipe Service à la clientèle'."\r\n"
.'website.com';

$headers2 = "From:" . $to;
mail($to, $subject, $message, $headers);
mail($from, $subject2, $message2, $headers2); // sends a copy of the message to the sender
header('location: merci-soumission.html');
} else {
header('location: soumission.html');
}
?>
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 1 févr. 2018 à 23:05
Bon... déjà il serait bien que tu utilises LES BALISES DE CODE pour poster ton code
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Ensuite... tu ne fais pas appel à la fonction que je t'ai donné !
Il ne suffit pas de la coller dans ton code.... il faut ensuite l’appeler....
if($fichiers($to,$subject,$message,$fichiers)){
   header('location: merci-soumission.html');
   exit();
} else {
   header('location: soumission.html');
   exit();
} 

$fichiers sera la variable qui contiendra la liste des fichiers que tu souhaites envoyer.
fichiers que tu auras UPLOADE sur le serveur (en t'appuyant sur les liens que je t'ai donné)
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
2 févr. 2018 à 00:38
Ah d'accord maintenant j'ai saisi pour les balises ;-). Aussi j'ai 2 questions,
la première est, est-ce qu'un attachement doit absolument etre jumeler a un serveur, ou il peut simplement aller directement avec le formulaire en courriel + attachement?

Ma deuxième question est : quand tu dis "il faut ensuite l'appeler", plus précisément ca veut dire quoi?
Car moi mes scripts ont beaucoup été fabriquer avec des logiciels de scriptage, et non manuellement par moi, ou aussi en visionnant et lisant quelque truc sur internet. C'est tout nouveau pour moi :-(
0