Bonjour à tous,
je viens de créer un "formulaire" sous forme de liste à plusieurs choix, et j'aimerais q'une fois les choix fait en cliquant sur un bouton cette liste me soit envoyé par mail,
voici le code, est-ce le même principe que les formulaires de contact ?
Si quelqu'un a une solution je suis preneuse Merci

<body>

<select name="format_tracts" id="format_tracts" onchange="calcul()">
  <option value="">Selectionnez le format</option>
  <option value="Format A4">Format A4</option>
  <option value="Format A5">Format A5</option>
 </select>
<br/>

<select name="papier" id="papier" onchange="calcul()">
  <option value="">Selectionnez le papier /m2</option>
  <option value="Papier 80g">Papier 80g</option>
  <option value="Papier 90g">Papier 90g</option>
  <option value="Papier 115g">Papier 115g</option>
  <option value="Papier recyclé 80g">Papier recyclé 80g</option>
 </select>
<br/>
<select name="quantite" id="quantite" onchange="calcul()">
  <option value="">Selectionnez la quantité</option>
  <option value="500 Exemplaires">500 Exemplaires</option>
  <option value="1 000 Exemplaires">1 000 Exemplaires</option>
  <option value="2 500 Exemplaires">2 500 Exemplaires</option>
  <option value="5 000 Exemplaires">5 000 Exemplaires</option>
  <option value="10 000 Exemplaires">10 000 Exemplaires</option>
  <option value="20 000 Exemplaires">20 000 Exemplaires</option>
  <option value="50 000 Exemplaires">50 000 Exemplaires</option>
 </select>
<br/>
<select name="delai" id="delai" onchange="calcul()">
  <option value="">Selectionnez la livraison</option>
  <option value="Livraison économique">Livraison économique</option>
  <option value="Livraison express">Livraison express</option>
  <option value="Livraison urgente">Livraison urgente</option>
</select>

<div id="prix"></div>

</body>
Bonjour,

si j'ai bien compris tu veux tu veux récupérer les valeurs fournis et ce par mail.

Donc même traitement qu'un formulaire classic Get ou Post et tu inclus ta fonction Mail pour les envoyer Smiley smile
Tes balises select ont le même comportement qu'un champ input text.

Il te suffit donc de les englober dans une balise <form> et tu récupères ça en post (ou GET).
Merci pour vos réponses, j'ai pourtant tout inséré dans des balises <form> mais ca ne fonctionne pas. Voici le code php pour récupérer les données je l'ai créé pour une seule select pour l'instant mais ca ne fonctionne pas

<?php 
     if(isset($_POST['format_tracts'])){ 
	  extract($_POST);
          {
           $destinataire="anais@defense-leaders.com"; 
			$sujet="Demande de devis";
   			$msg="Nouvele demande de devis
			Format : $format_tracts";
          } 
     } 
?>
En fait cela fonctionne, le seul souci est que je n'arrive pas a récupérer les données dans la div "prix"
voici le php qui fonctionne

<?php 
if(isset($_POST) && isset($_POST['format_tracts']) && isset($_POST['papier']) && isset($_POST['quantite']) && isset($_POST['delai'])){
	extract($_POST);
	if(!empty($format_tracts) && !empty($papier) && !empty($quantite)){
	
           $destinataire="anais@defense-leaders.com"; 
			$sujet="Demande de devis";
   			$msg="Nouvele demande de devis
			Format : $format_tracts
			Papier : $papier
			Quantite : $quantite
			Délai : $delai
			Prix : $prix";
			$entete="From: $nom Reply-To: $email";
			mail($destinataire,$sujet,$msg,$entete);
			echo "Your message has been sent, thank you";
			

          } 
     } 
	 
	 else{
	
		echo "you have not filled in all fields";
		
		}
	 
	 
?>
Peux tu donner le code entier de ton HTML (pour voir la structure de ton form) et PHP (pour la récup et le mail) ?
Ca peut venir de plusieurs choses : nommage des champs, balise form mal renseignée etc...

Ca va etre dur de deviner là Smiley cligne

EDIT : C'est tout à fait normal que tu ne récupères pas ce qu'il y a dans div pour le prix. Une div n'est pas un élément de formulaire. Il faut que dans ta fonction de calcul() que tu as en javascript, tu retournes le résultat dans un champ input qui prendra la valeur et qui sera donc envoyé.
Par exemple, tu peux utiliser un champ "hidden" :

<input type="hidden" name="prix" value=""/>


La methode poste a ce comportement :
<input type="text" name="mon_champ" value="ma valeur" />
$_POST['mon_champ'] vaut "ma_valeur";
Modifié par Apoooo (18 Jul 2013 - 10:17)
Oui, alors voici mon html :

<body>
<form method="post" action="tracts.php">
<select name="format_tracts" id="format_tracts" onchange="calcul()">
  <option value="">Selectionnez le format</option>
  <option value="Format A4">Format A4</option>
  <option value="Format A5">Format A5</option>
 </select>
<br/>

<select name="papier" id="papier" onchange="calcul()">
  <option value="">Selectionnez le papier /m2</option>
  <option value="Papier 80g">Papier 80g</option>
  <option value="Papier 90g">Papier 90g</option>
  <option value="Papier 115g">Papier 115g</option>
  <option value="Papier recyclé 80g">Papier recyclé 80g</option>
 </select>
<br/>
<select name="quantite" id="quantite" onchange="calcul()">
  <option value="">Selectionnez la quantité</option>
  <option value="500 Exemplaires">500 Exemplaires</option>
  <option value="1 000 Exemplaires">1 000 Exemplaires</option>
  <option value="2 500 Exemplaires">2 500 Exemplaires</option>
  <option value="5 000 Exemplaires">5 000 Exemplaires</option>
  <option value="10 000 Exemplaires">10 000 Exemplaires</option>
  <option value="20 000 Exemplaires">20 000 Exemplaires</option>
  <option value="50 000 Exemplaires">50 000 Exemplaires</option>
 </select>
<br/>
<select name="delai" id="delai" onchange="calcul()">
  <option value="">Selectionnez la livraison</option>
  <option value="Livraison économique">Livraison économique</option>
  <option value="Livraison express">Livraison express</option>
  <option value="Livraison urgente">Livraison urgente</option>
</select>
<input type="submit" value="Send" id="boutons" />
</form>

<div id="prix"></div>

</body>



et il y a un peu de JS aussi pour le calcul du prix:

function calcul() {
	var formatDiv = document.getElementById("format_tracts");
	var format = formatDiv.options[formatDiv.selectedIndex].value;
	
	var papierDiv = document.getElementById("papier");
	var papier = papierDiv.options[papierDiv.selectedIndex].value;
	
	var quantiteDiv = document.getElementById("quantite");
	var quantite = quantiteDiv.options[quantiteDiv.selectedIndex].value;
	
	var delaiDiv = document.getElementById("delai");
	var delai = delaiDiv.options[delaiDiv.selectedIndex].value;
	
	document.getElementById("prix").innerHTML = tracts[format][papier][quantite][delai];
}

<body>
<form method="post" action="tracts.php">
<select name="format_tracts" id="format_tracts" onchange="calcul()">
  <option value="">Selectionnez le format</option>
  <option value="Format A4">Format A4</option>
  <option value="Format A5">Format A5</option>
 </select>
<br/>

<select name="papier" id="papier" onchange="calcul()">
  <option value="">Selectionnez le papier /m2</option>
  <option value="Papier 80g">Papier 80g</option>
  <option value="Papier 90g">Papier 90g</option>
  <option value="Papier 115g">Papier 115g</option>
  <option value="Papier recyclé 80g">Papier recyclé 80g</option>
 </select>
<br/>
<select name="quantite" id="quantite" onchange="calcul()">
  <option value="">Selectionnez la quantité</option>
  <option value="500 Exemplaires">500 Exemplaires</option>
  <option value="1 000 Exemplaires">1 000 Exemplaires</option>
  <option value="2 500 Exemplaires">2 500 Exemplaires</option>
  <option value="5 000 Exemplaires">5 000 Exemplaires</option>
  <option value="10 000 Exemplaires">10 000 Exemplaires</option>
  <option value="20 000 Exemplaires">20 000 Exemplaires</option>
  <option value="50 000 Exemplaires">50 000 Exemplaires</option>
 </select>
<br/>
<select name="delai" id="delai" onchange="calcul()">
  <option value="">Selectionnez la livraison</option>
  <option value="Livraison économique">Livraison économique</option>
  <option value="Livraison express">Livraison express</option>
  <option value="Livraison urgente">Livraison urgente</option>
</select>
<input type="submit" value="Send" id="boutons" />
</form>

<div id="prix"></div>
[b]<input type="hidden" value="" name="prix" id="prix_send" />[/b]
</body>



function calcul() {
	var formatDiv = document.getElementById("format_tracts");
	var format = formatDiv.options[formatDiv.selectedIndex].value;
	
	var papierDiv = document.getElementById("papier");
	var papier = papierDiv.options[papierDiv.selectedIndex].value;
	
	var quantiteDiv = document.getElementById("quantite");
	var quantite = quantiteDiv.options[quantiteDiv.selectedIndex].value;
	
	var delaiDiv = document.getElementById("delai");
	var delai = delaiDiv.options[delaiDiv.selectedIndex].value;
	
        var prix = ta_formule_de_calcul;
	document.getElementById("prix").innerHTML = prix;
        document.getElementById("prix_send").value = prix;
}


Et là tu devrais obtenir dans ton tableau $_POST le champ "prix" Smiley smile
(j'ai mi "ta_formule_de_calcul" car le forum m'a transformé ton code en smiley/image, je n'ai pas pu le copier/coller mais l'idée est là.)
Modifié par Apoooo (18 Jul 2013 - 10:34)
Cela fonctionne à merveille, il y'avait juste la partie prix que j'ai du placer dans la balise form merci beaucoup Smiley cligne
Oups effectivement, erreur de ma part, j'ai lu trop vite ton code et j'ai confondu la balise "body" avec la "form" Smiley lol Smiley rolleyes