flexi2202
Messages postés3795Date d'inscriptionlundi 14 mars 2011StatutMembreDernière intervention21 avril 2024
-
1 mars 2011 à 17:10
flexi2202
Messages postés3795Date d'inscriptionlundi 14 mars 2011StatutMembreDernière intervention21 avril 2024
-
1 mars 2011 à 23:44
bonjour a tous
voici un code que j avais trouve un peu par hasard et que j ai modifie a l aide de certains membres et avec un tout petit peu de ma main ...
mais il me reste une question étant donne que je dois y mettre +- 150 articles comment faire pour pas me retrouver avec un code de 150 kilomètres ....avec des boucles a mon avis
qui pourrait m aider a le réaliser svp
d avance un tout grand merci a tous
voici le code
<?php
/*ton script doit etre sur un hebergeur qui supporte le php 5 de préférence*/
/*remplace mailbidon@free.fr entre les doubles guillemets*/
$tonemail= "perroquet666@hotmail.com"; /**/
/*à toi de définir ta page de retour aprés envoi du mail*/
$site="http://www.google.com";
/*pas toucher*/
$headers = "From: <$tonemail>\n";
$headers .= "Reply-To: $tonemail\n";
$headers .= "MIME-version: 1.0\n";
$headers .= "Content-type: text/html; charset= iso-8859-1\n";
$message="";
$sujet = "Commande depuis mon site http://???"; /*si tu veux mettre quelque chose*/
if(isset($_POST['sub']) && $_POST['sub']==="Precommander") {
foreach($_POST as $k => $v){ //$_POST['coucou'] devient $coucou
$send[]=strip_tags($v);
//echo $k.' : '.$v.'
';
}
foreach($send as $s){
$message.=$s."
";
}
$message.="<hr>Le ".date('d-m-Y H:i:s')." par ip du client : ".$_SERVER['REMOTE_ADDR']."<hr>";
if(mail($tonemail,$sujet,$message,$headers)){
echo 'votre commande à été enregistrée un mail de confirmation vous sera envoyé ... !';
/******* Vérification
foreach( $send as $value )
echo $value . '
';
********/
//$site="http://www.google.com"; /*à toi de définir ta page*/
echo '
Revenir au site ['.$site.' ici]';
exit;
}else{
echo 'PROBLEME FONCTION MAIL PHP';exit;
}
}else{
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<head>
<style type="text/css">
body {
color: purple;
background-color: #BCBCBC }
#chaussures {
height: 275px;
text-align: center;
background-color: #F2C7F3;
margin-left: auto;
margin-right: auto;
}
#titre {
color: #FFFFFF;
height: 25px;
text-align: center;
background-color: #D9348F;
margin-left: auto;
margin-right: auto;
}
</style>
<title>Formulaire</title>
<script type="text/javascript">
var plus_frais_de_port = false;
var iPrix = 0;
function AjouteVirgule(nombre, nb_decimal)
{
var num = Number(nombre);
var AvecVirgule = num.toFixed(nb_decimal);
return AvecVirgule;
}
var T_article = new Array(); // table des choses
T_article[0] = new Array( "0.00", "0.000" );
T_article[1] = new Array("150.00", "2.300" ); // MODELE_001
T_article[2] = new Array("160.00", "0.450" ); // Masque Sakalava
T_article[3] = new Array( "80.00", "1200.000" ); // Voiture
T_article[4] = new Array("100.00", "0.080" ); // T-shirt de l'association XL
T_article[5] = new Array( "70.00", "0.200" ); // Panneaux de Marqueterie(x2)
T_article[6] = new Array("150.00", "0.300" ); // Solitaire
T_article[7] = new Array("150.00", "0.510" ); // Djembe
T_article[8] = new Array( "50.00", "1.000" ); // Cendrier
T_article[9] = new Array( "75.00", "0.100" ); // Girafe en raffia (taille moyenne)
T_article[10] =new Array("150.00", "0.200" ); // Set de table
function Calcule()
{
form=document.getElementById("F_COMMANDE" );
// Calcul les montants
Selection = form.Article1.selectedIndex;
form.NomArticle1.value=form.Article1.options[Selection].text;
NoArticle=form.Article1.options[Selection].value;
// alert("1. NoArticle="+NoArticle);
PrixArticle=T_article[NoArticle][0];
form.Prix1.value=AjouteVirgule(PrixArticle,2);
// alert("2. PrixArticle="+PrixArticle);
Selection = form.Quant1.selectedIndex;
Stotal1 = form.Quant1.options[Selection].value * form.Prix1.value;
form.Montant1.value = AjouteVirgule(Stotal1,2);
Selection = form.Article2.selectedIndex;
form.NomArticle2.value=form.Article2.options[Selection].text;
NoArticle=form.Article2.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix2.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant2.selectedIndex;
Stotal2 =form.Quant2.options[Selection].value * form.Prix2.value;
form.Montant2.value = AjouteVirgule(Stotal2,2);
Selection = form.Article3.selectedIndex;
form.NomArticle3.value=form.Article3.options[Selection].text;
NoArticle=form.Article3.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix3.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant3.selectedIndex;
Stotal3 = form.Quant3.options[Selection].value * form.Prix3.value;
form.Montant3.value = AjouteVirgule(Stotal3,2);
Selection = form.Article4.selectedIndex;
form.NomArticle4.value=form.Article4.options[Selection].text;
NoArticle=form.Article4.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix4.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant4.selectedIndex;
Stotal4 = form.Quant4.options[Selection].value * form.Prix4.value;
form.Montant4.value = AjouteVirgule(Stotal4,2);
Selection = form.Article5.selectedIndex;
form.NomArticle5.value=form.Article5.options[Selection].text;
NoArticle=form.Article5.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix5.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant5.selectedIndex;
Stotal5 = form.Quant5.options[Selection].value * form.Prix5.value;
form.Montant5.value = AjouteVirgule(Stotal5,2);
Selection = form.Article6.selectedIndex;
form.NomArticle6.value=form.Article6.options[Selection].text;
NoArticle=form.Article6.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix6.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant6.selectedIndex;
Stotal6 = form.Quant6.options[Selection].value * form.Prix6.value;
form.Montant6.value = AjouteVirgule(Stotal6,2);
Selection = form.Article7.selectedIndex;
form.NomArticle7.value=form.Article7.options[Selection].text;
NoArticle=form.Article7.options[Selection].value;
PrixArticle=T_article[NoArticle][0];
form.Prix7.value=AjouteVirgule(PrixArticle,2);
Selection = form.Quant7.selectedIndex;
Stotal7 = form.Quant7.options[Selection].value * form.Prix7.value;
form.Montant7.value = AjouteVirgule(Stotal7,2);
Total =(Stotal1+Stotal2+Stotal3+Stotal4+Stotal5+Stotal6+Stotal7);
if(plus_frais_de_port true) Total Total + iPrix;
form.MontantTotal.value = AjouteVirgule(Total,2);
// Calcul les poids
Selection = form.Article1.selectedIndex;
NoArticle=form.Article1.options[Selection].value;
Selection = form.Quant1.selectedIndex;
Stotal1 = form.Quant1.options[Selection].value * T_article[NoArticle][1];
form.Poids1.value = AjouteVirgule(Stotal1,3);
Selection = form.Article2.selectedIndex;
NoArticle=form.Article2.options[Selection].value;
Selection = form.Quant2.selectedIndex;
Stotal2 = form.Quant2.options[Selection].value * T_article[NoArticle][1];
form.Poids2.value = AjouteVirgule(Stotal2,3);
Selection = form.Article3.selectedIndex;
NoArticle=form.Article3.options[Selection].value;
Selection = form.Quant3.selectedIndex;
Stotal3 = form.Quant3.options[Selection].value * T_article[NoArticle][1];
form.Poids3.value = AjouteVirgule(Stotal3,3);
Selection = form.Article4.selectedIndex;
NoArticle=form.Article4.options[Selection].value;
Selection = form.Quant4.selectedIndex;
Stotal4 = form.Quant4.options[Selection].value * T_article[NoArticle][1];
form.Poids4.value = AjouteVirgule(Stotal4,3);
Selection = form.Article5.selectedIndex;
NoArticle=form.Article5.options[Selection].value;
Selection = form.Quant5.selectedIndex;
Stotal5 = form.Quant5.options[Selection].value * T_article[NoArticle][1];
form.Poids5.value = AjouteVirgule(Stotal5,3);
Selection = form.Article6.selectedIndex;
NoArticle=form.Article6.options[Selection].value;
Selection = form.Quant6.selectedIndex;
Stotal6 = form.Quant6.options[Selection].value * T_article[NoArticle][1];
form.Poids6.value = AjouteVirgule(Stotal6,3);
Selection = form.Article7.selectedIndex;
NoArticle=form.Article7.options[Selection].value;
Selection = form.Quant7.selectedIndex;
Stotal7 = form.Quant7.options[Selection].value * T_article[NoArticle][1];
form.Poids7.value = AjouteVirgule(Stotal7,3);
Total =(Stotal1+Stotal2+Stotal3+Stotal4+Stotal5+Stotal6+Stotal7);
form.PoidsTotal.value = AjouteVirgule(Total,3);
}
function majPrixPort(oForm)
{
Calcule();
var iPoids = parseFloat(oForm.PoidsTotal.value);
if(oForm.envoi[0].checked) // si "la poste" est cochée
{
iPrix = 5;
if (iPoids > 5) iPrix = 10;
}else if(oForm.envoi[1].checked)
{ // si "kiala" est coché
iPrix 4; // frais de port 4€
var nombre_total_article = parseInt(oForm.Quant1.options[oForm.Quant1.selectedIndex].value) + parseInt(oForm.Quant2.options[oForm.Quant2.selectedIndex].value) + parseInt(oForm.Quant3.options[oForm.Quant3.selectedIndex].value) + parseInt(oForm.Quant4.options[oForm.Quant4.selectedIndex].value) + parseInt(oForm.Quant5.options[oForm.Quant5.selectedIndex].value) + parseInt(oForm.Quant6.options[oForm.Quant6.selectedIndex].value) + parseInt(oForm.Quant7.options[oForm.Quant7.selectedIndex].value);
if(nombre_total_article > 2) iPrix = 0; //sauf si il y a plus de 2 articles, alors c'est gratuit
}else
{
iPrix = 0;
}
AjouteVirgule(iPrix,3);
oForm.prix_port.value = iPrix;
plus_frais_de_port = true;
Calcule();
}
function Verifie(aBC)
{
if(aBC.nom.value == ""){
alert('Vous n\'avez pas renseign\351 votre nom.');
return false;
}else if(aBC.prenom.value == ""){
alert('Vous n\'avez pas renseign\351 votre prenom.');
return false;
}else if(aBC.adresse.value == ""){
alert('Vous n\'avez pas renseign\351 votre adresse.');
return false;
}else if(aBC.code_postal.value == ""){
alert('Vous n\'avez pas renseign\351 votre code postal.');
return false;
}else if(aBC.ville.value == ""){
alert('Vous n\'avez pas renseign\351 votre ville .');
return false;
}else if(aBC.telephone.value == ""){
alert('Vous n\'avez pas renseign\351 votre numero de telephone .');
return false;
}else if(aBC.pays.value == ""){
alert('Vous n\'avez pas renseign\351 votre pays.');
return false;
}else if(aBC.email.value == ""){
alert('Vous n\'avez pas renseign\351 votre email.'); return false;
}else{
var regMail = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
// var regCP = /^[0-9]{4}$/; //Vérif code postal benelux
if(regMail.test(aBC.email.value))
{
return true;
}else
{
alert('Vous devez renseign\351 une adresse e-mail corecte.');
return false;
}
/*if(regCP.test(aBC.email.value)) ///////////Verif Code Postal Benelux
{
return true;
}else
{
alert('Vous devez renseign\351 un Code postal correct !');
document.ex.cp.focus();
return false;
}*/
}
}
</SCRIPT>
<META content="text/html; charset=windows-1252" http-equiv="Content-Type">
</head>
Accueil </center>,
Mode de paiement </center>,
Questions</center>,
Pour commander</center>,
Espace infos</center>,
Nos chaussures</center>
<CENTER>
<center>Nos chaussures</center>
TALON AIGUILLE POINTURE 35
TALON AIGUILLE POINTURE 36
TALON AIGUILLE POINTURE 37
TALON AIGUILLE POINTURE 38
TALON AIGUILLE POINTURE 39
TALON AIGUILLE POINTURE 40
TALON AIGUILLE POINTURE 41
<center>Inscription a la newsletter </center>
<center></center>
<center><form target="_blank" method="post" action="http://www.canalblog.com/cf/blogsubscribe.cfm?bid=476894" id="newsletter" name="newsletter">
</form></center>
<center>Nos promotions </center>
<center></center>
<center>
</center>,
<form id=\"F_COMMANDE\" action=\"http://essai2.net63.net/poi.php\" onSubmit=\"return Verifie(this)\" method=\"post\">
BON DE COMMANDE |
,
----
Veuillez entrer vos coordonnees |
----
Nom,
,
----
Prenom,
,
----
Adresse E-mail,
,
----
Adresse,
,
----
Code postal,
,
----
Numero de téléphone,
,
----
Ville,
,
----
Pays,
,
----
Votre point kiala
Pour le trouver cliquer ici ,
,
----
Choisissez un article et saisissez une Quantite |
----
Article |
Prix |
Qte |
Montant |
----
1<select size ="1" onchange="majPrixPort(this.form);" name="Article1">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€ ,
<select onchange="majPrixPort(this.form);" name="Quant1"><option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
2<select size="1" onchange="majPrixPort(this.form);" name="Article2">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie (x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€,
<select onchange="majPrixPort(this.form);" name="Quant2">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
3<select size="1" onchange="majPrixPort(this.form);" name="Article3">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€ ,
<select onchange="majPrixPort(this.form);" name="Quant3">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
4<select size="1" onchange="majPrixPort(this.form);" name="Article4">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€ ,
<select onchange="majPrixPort(this.form);" name="Quant4">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
5<select size="1" onchange="majPrixPort(this.form);" name="Article5">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€,
<select onchange="majPrixPort(this.form);" name="Quant5">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
6<select size="1" onchange="majPrixPort(this.form);" name="Article6">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€,
<select onchange="majPrixPort(this.form);" name="Quant6">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>,
€ ,
----
7<select size="1" onchange="majPrixPort(this.form);" name="Article7">
<option value="0" selected=""></option>
<option value="1">MODELE_001</option>
<option value="2">Masque Sakalava</option>
<option value="3">Voiture</option>
<option value="4">T-shirt de l'association XL</option>
<option value="5">Panneaux de Marqueterie(x2)</option>
<option value="6">Solitaire</option>
<option value="7">Djembe</option>
<option value="8">Cendrier</option>
<option value="9">Girafe en raffia (taille moyenne)</option>
<option value="10">Set de table</option>
</select>,
€,
<select onchange="javascript:majPrixPort( this.form);" name="Quant7">
<option selected="" value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
,
€ ,
----
Frais de port avec kiala :Gratuit,
0.00,
----
Choississez votre mode de livraison :
<label for="by_poste">par la poste</label><label for="by_kiala">par kiala</label>,
,
----
NET A PAYER,
€ ,
----
<!-- -->,
</form>
</CENTER>
</HTML>
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 1 mars 2011 à 18:25
Ensuite, utiliser les CSS avec un
td {background-color:#fff;text-align:center} dans la balise style ou même une coloration du fond du tableau avec des classes particulières pour certaines lignes...
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 1 mars 2011 à 19:18
La boucle proposée se substitue seulement aux 7 « paragraphes » quasi-identiques situés entre
form=document.getElementById("F_COMMANDE" );
// Calcul les montants
et les lignes suivantes
if(plus_frais_de_port true) Total Total + iPrix;
form.MontantTotal.value = AjouteVirgule(Total,2);
Ma proposition contient d'ailleurs plusieurs erreurs : les variables stotal, Stotal et Stotali ne font qu'une (et donc devraient avoir le même nom) et à l'avant dernière ligne le form["Montant"+7].value est à remplacer par un form["Montant"+i].value.
Il convient, ensuite de faire à peu près la même chose pour les poids...
Vous n’avez pas trouvé la réponse que vous recherchez ?
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 1 mars 2011 à 22:08
Il y a encore un stotal en première ligne au lieu d'un Stotal qu'il convient de remettre à zéro.
Sinon, les objets javascript étant aussi des tableaux associatifs, le principe consiste à remplacer les form.Aticle1, 2 3 4 ou 7 par des form["Article"+i]...
Cela doit fonctionner. Peut-être conviendrait-il de disposer quelques alert pour voir les bugs.
007Julien
Messages postés276Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention 8 janvier 20144 1 mars 2011 à 23:25
Atant pour moi, inutile d'initialiser Stotal qui est simplement repris deux fois dans la boucle, par contre il restait encore un form.Prix7 qu'il faut remplacer par un form["Prix"+7]. ce code devrait, enfin, donner satisfaction.
flexi2202
Messages postés3795Date d'inscriptionlundi 14 mars 2011StatutMembreDernière intervention21 avril 2024 1 mars 2011 à 23:44
merci et encore merci mais cela ne fonctionne toujours pas
car dans le formulaire lorsque je choisis un article le prix n apparait pas ,alors qu avant oui