Aide pour realiser un bon de commande en php et html

bonjour a tous
ayant des connaissance limite en php et html j essaye de réaliser un bon de commande
voici un exemple de ce que je suis en train de réaliser mais cela n est qu une ébauche
pour l instant je bloque sur les frais d envois j ai ajouter une liste déroulante
avec le choix du mode de livraison mais je souhaiterais que le prix suivant le choix puisse s afficher en face et être ajouter au prix total de la commande
merci de l aide
<html>
<head>
<title>Un exemple simple de formulaire</title>
<script type="text/javascript">

var port = 5.95;
var tva = 0.076;

function calculerPrix
(champQte) {
var champPrix = champQte.form.elements[champQte.name + "prix"];
var champPrixUnite = champQte.form.elements[champQte.name + "unite"];

var
prixUnite = parseFloat(champPrixUnite.value);
var qte = champQte.value;
if (qte == "") qte = 0;
else if (isNaN(qte)) qte = 0;
else qte = Math.floor(qte);
if
(qte < 0) qte = 0;

var prix = prixUnite * qte;

champPrix.value  = formatPrix(prix);

calculerTotal(champQte.form);
}
function
calculerTotal (form) {

var champTva = form.elements['tva'];
var champPort = form.elements['port'];
var champTotal = form.elements['total'];
champPort.value
= formatPrix(port);

var total = 0;
for (var i in form.elements) {
if (
//form.elements[i].name
i.toLowerCase().indexOf("prix") != -1)
total += parseFloat(form.elements[i].value);
}
total += port;
var tvaCalc = tva * total;
tvaCalc = Math.round(tvaCalc*100)/100.0;

champTva.value
= formatPrix(tvaCalc);
total += tvaCalc;

champTotal.value = formatPrix(total);
}
function formatPrix (n) {
n = Math.round(n*100)/100.0;
var
str = ""+n+"";

var i = str.indexOf(".");
if (i == -1) str += ".00";
else if (i == str.length-2) str += "0";
return str;
}

// -->
</script>

</head>
<body>

<H
<HR>


<form method="post" action="formulaire-simple.cgi">
<H2>bon de commande </H2>
<form name="f1">
<p>Commandez nos articles !<br />
</p>
<p>
<table>
<tr>
<td ></td>
<td>Article</td>
<td>Quantité</td>
<td>Prix par unité</td>
<td>Prix selon quantité</td>
</tr>
<tr>
<td ></td>
<td>

<select name="couleur">
 <option selected>blanc
 <option>jaune
 <option>orange
 <option>rouge
 <option>vert
 <option>bleu
 <option>violet
 <option>noir
 </select>
 </td>
 <td>
 <input type="text" size="3" name="c1" onchange="calculerPrix(this);" />
 </td>
 <td>
 <input type="text"size="6" name="c1unite" value="29.90" />
 </td>
 <td> 
 <input type="text" name="c1prix" size="6" value="0.00" />
 </td>
 </tr>
<tr>
<td ></td>
<td>

<select name="couleur">
 <option selected>blanc
 <option>jaune
 <option>orange
 <option>rouge
 <option>vert
 <option>bleu
 <option>violet
 <option>noir
 </select></td>
 <td>
<input type="text" size="3" name="c2" onchange="calculerPrix(this);"  />
</td>
<td>
 <input type="text" size="6" name="c2unite" value="89.90" />
 </td>
 <td>
<input type="text" name="c2prix" size="6" value="0.00" />
</td>
</tr>
<tr>
<td ></td>
<td>
<select name="couleur">
 <option selected>blanc
 <option>jaune
 <option>orange
 <option>rouge
 <option>vert
 <option>bleu
 <option>violet
 <option>noir
 </select></td>
 <td> 
 <input type="text" size="3" name="c3" onchange="calculerPrix(this);" />
 </td>
 <td> 
 <input type="text" size="6" name="c3unite" value="9.95" /></td><td> <input type="text" name="c3prix" size="6" value="0.00" />
 </td>
 </tr>
 <tr>

<td height="40px"></td>

</tr>
<tr>

<td ">choix mode de livraison </td>
<td>
<select name="couleur">
 <option selected>mondial relay belgique
 <option>envois postal belgique 
 <option>mondial relay france 
 <option>envois postal france 
 <option>mondial relay autre pays
 <option>envois postal autre pays
 
 </select></td>
<td> </td><td> </td>
<td> 
<input type="text" name="port" value="6.95" size="6" />
 </td>
</tr>

<tr>

<td>TOTAL</td>
<td ></td>
<td> </td>
<td> </td>
<td> 
<input type="text" name="total"value="0.00" size="6" /> 
</td>
</tr>
</table>
</p>
</form>
Quel est votre prénom ? <input name="prenom">
<P>
Quel est votre rue? <input name="rue">
<P>
<P>
votre numero? <input name="numero">
<P>
<P>
votre la localite? <input name="localite">
<P>
<P>
votre ville? <input name="ville">
<P>


Aimez vous l'informatique ?
<input type="radio" name="choix" value="oui" checked> Oui
ou
<input type="radio" name="choix" value="non"> Non
<P>


Veuillez expliquer brièvement ci-dessous le choix que vous venez de faire :
<input name="message" size=60,5>
<P>


Cliquez sur <input type="submit" value="Valider"> pour soumettre votre requête.,
 sinon <input type="reset" value="Annuler">
</form>





</body>
</html>

12 réponses

  1. désolé me suis trompe de sujet
    en fait je bloque sur plusieurs choses et depuis plusieurs jours j écume le net afin de trouver un exemple de bon de commande que je pourrais adapter a ma convenance
    tout ce que j ai pour l instant est un formulaire dans lequel j essaye d integrer un morceau de code html pour le bon de commande
    pour l instant je bloque sur soucis en html
    https://forums.commentcamarche.net/forum/affich-36862321-soucis-avec-un-morceau-de-code-en-html?jrRbgNTBHfJS1Grd29tNS-82sTuA7XL4cLjsezgN0rU#newanswer
    0
    1. bonjour
      un petit up svp merci
      0
      1. Modérateur
        Un up de quoi ???
        Tu as dis toi même que tu mettais en suspend..
        Donc ben ... Qu'en est-il ??
        Où en es tu ?
        Sur quoi bloques tu ?
        A quoi ressemble ton code désormais ??

        Que de questions.... Sans lesquelles personne (hormis un devin peut-être...) Ne saurait te répondre !
        0
    2. merci pour la réponse
      mais je vais plutôt mettre en suspens car une fois le html mis en ordre faudra envoyé le tout
      0
      1. bonsoir
        a présent que cela fonctionne
        je tente de le transformer en bon de commande
        j ai donc ajouter un morceau de code dans le html et ajouter un fichier JS
        mais déjà les premiers problèmes apparaisse avec le code html
        pour l aide du html je peux demander ici ou je dois poster dans al section html
        0
        1. Modérateur
          je pense que ça peut être traité comme une nouvelle question (l'envoie de mail en php étant le sujet de cette discussion que tu vas pouvoir mettre en résolu )
          et donc oui, ouvrir une nouvelle question propre à ce nouveau souci dans le forum html.
          0
      2. oupsss désolé cela fonctionne
        le courrier était dans les spams
        0
        1. comment ca marche ne prends pas mon message
          0
          1. je vais y jeter un oeil merci
            0
            1. merci pour le lien
              oui des formulaires de contacts mais pas des bons de commandes
              0
              1. Modérateur
                Oui mais ça te donne une bonne base pour faire de l'envoi de données en PHP par mail...
                0
            2. bonjour
              merci pour l entraide
              alors pour répondre aux questions
              je suis pécheur et cela arrive de temps en temps de vendre du petit matériel mais pas assez pour prendre un hébergement payant
              donc j essaye de trouver un hébergeur gratuit pour l envoi du bon de commande en php ou d une autre façon
              pour l instant j ai trouve 000webhost.com
              donc la page est hébergée chez ce fournisseur

              lorsque tu me parles de faire un sublim de ma form (je vois plus ou moins ce que cela veux dire ...)
              c est un fichier pour l instant en javascript et en html dans lequel je souhaiterais ajouter du php pour un envois vers mon adresse mail

              le but de ce formaulaire de commande
              serait que le client entre ces coordonnées
              choisisse le matériel
              et moyen de livraison
              que le tout soit calcule
              puis que l ensemble lui soit envoyé et que je reçoive une copie

              j ai essaye de trouver des modèles que j aurais pu modifier sur le net mais ils sont très rare
              0
              1. Modérateur
                Je ne sais pas ce que tu as tapé comme recherche sur le net.... mais des exemples de formulaires de contact... il y en a à foisons.
                par exemple : https://www.commentcamarche.net/faq/4516-webmaster-un-formulaire-de-contact-pour-votre-site
                0
            3. merci pour l aide
              c est justement la ou je bloque avec le php
              je ne vois pas bien comment je dois m y prendre pour l envoyer
              0
              1. Modérateur
                Tu ne réponds pas à mes questions.... dans ces conditions comment espères tu qu'on puisse t'aider ????!!
                0
            4. bonsoir a tous
              merci de votre aide
              voila je suis parvenu a trouver une base en javascript pour un bon de commande que je dois encore modifier les choses suivantes
              lors d un choix de séance une référence soit indique de façon automatique ainsi que le tarif
              puis ajouter les frais d envois suivant le mode de livraison
              pour finir tout additionner

              mais a présent je souhaiterais que ce formulaire me soit envoyé en php et que le client reçoive un message de confirmation

              <!doctype html>
              <html lang="fr">
              <head>
              <meta charset="utf-8">
              <title>Titre de la page</title>
              <link rel="stylesheet" href="style.css">
              <script type="text/javascript">
              function addRow(tableID) {

              var table = document.getElementById(tableID);

              var rowCount = table.rows.length;
              var row = table.insertRow(rowCount);

              var colCount = table.rows[0].cells.length;

              for(var i=0; i<colCount; i++) {

              var newcell = row.insertCell(i);

              newcell.innerHTML = table.rows[1].cells[i].innerHTML;
              //alert(newcell.childNodes);
              switch(newcell.childNodes[0].type) {
              case "text":
              newcell.childNodes[0].value = "";
              break;
              case "checkbox":
              newcell.childNodes[0].checked = false;
              break;
              case "select-one":
              newcell.childNodes[0].selectedIndex = 0;
              break;
              }
              }
              }

              function deleteRow(tableID) {
              try {
              var table = document.getElementById(tableID);
              var rowCount = table.rows.length;

              for(var i=0; i<rowCount; i++) {
              var row = table.rows[i];
              var chkbox = row.cells[0].childNodes[0];
              if(null != chkbox && true == chkbox.checked) {
              if(rowCount <= 2) {
              addRow(tableID);
              // alert("Attention la 1ère ligne n'est pas supprimable. La quantité est initialisée à 0");
              // break;
              }
              table.deleteRow(i);
              rowCount--;
              i--;
              }

              }
              }catch(e) {
              alert(e);
              }
              }

              function testValue(selection) {
              if (selection.value == "Dawn") {
              // do something
              }
              else if (selection.value == "Noon") {
              // do something
              }
              else if (selection.value == "Dusk") {
              // do something
              }
              else {
              // do something
              }
              }

              </script>
              </head>
              <body>

              Remplir le formulaire pour valider votre commande

              <form action="inscription.php" method="post">
              <fieldset class="coordonnees">
              <legend>Vos Coordonnées</legend>
              <label for="nom">Nom</label>
              <input id="nom" name="nom" pattern="[a-Z]{*}" type="text" si>
              <br>
              <label for="prenom">Prénom</label>
              <input id="prenom" name="prenom" type="text">
              <br>
              <label for="mail">mail</label>
              <input id="mail" name="mail" type="text">
              <br>
              <label for="mail_conf">Confirmer mail</label>
              <input id="mail_conf" name="Confirmer mail" type="text">
              <br>
              <legend>Adresse</legend>
              <label>Rue</label>
              <input id="rue" name="rue" type="text">
              <br>
              <label>Code postal</label>
              <input id="code-postal" name="code-postal" type="text"><br>
              <label>Ville</label>
              <input id="ville" name="ville" type="text"><br>
              </fieldset>
              <fieldset class="Votre commande">
              <legend>Votre commande</legend>

              <title> Tableau de commande </title>

              <table border="1" id="TableID" style="width: 350pxpx;">
              <tr>

              <th bgcolor="grey" td="" width="15"></th><th bgcolor="grey" td="" width="90">Séance</th><th bgcolor="grey" td="" width="90">Référence</th><th bgcolor="grey" td="" width="75">Format</th><th bgcolor="grey" td="" width="45">Impression</th><th bgcolor="grey" td="" width="45">Quantité</th><th bgcolor="grey" td="" width="45">Tarif</th></tr>
              <tr>
              <td><input name="chk" size="15" type="checkbox" /></td>
              <td>
              <select name="Séance" style="width: 90;">
              <option selected="" value="Choix">Sélectionner votre séance</option>
              <option selected="" value="Séance 1">Séance 1</option>
              <option value="Séance 2">Séance 2Séance 2</option>
              </select>

              <td><input name="Ref" size="25" type="text" /></td>
              <td>
              <select name="Format" style="width: 90;">
              <option value="10*15">10*15</option>
              <option value="11*15">11*15</option>
              <option value="20*30">20*30</option>
              </select>
              </td>
              <td>
              <select name="Impression" style="width: 10;">
              <option value="Mat">Mat</option>
              <option value="Brillant">Brillant</option>
              <option value="Satiné">Satiné</option>
              </select>
              </td>
              <td>
              <select name="Quantité" style="width: 20;">
              <option value="0">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>
              </select>
              </td>

              <td><input name="Prix" readonly="" type="text" /></td>

              </td></tr>
              </table>

              </fieldset>

              <input onclick="addRow('TableID')" type="button" value="Ajouter" />
              <input onclick="deleteRow('TableID')" type="button" value="Supprimer" />

              </body>
              </html>
              0
              1. Modérateur
                Pour que ça te l'envoi en php.... il faut faire un submit de ta form.
                Je ne vois aucun bouton pour ça..
                De plus, on ne sait rien de ton fichier inscription.php ......
                Et puis, tu bosses en local sur ton ordi ( à travers un logiciel tel que laragon, wamp, xampp, easyphp ... ?? )
                Ou bien tu héberges ta page sur un serveur ?
                0
            5. Modérateur
              Bonjour,

              Tu parles de php ...... mais je n'en vois pas une ligne !

              Je préscise également que ton code html est faux

              <select name="couleur">
               <option selected>mondial relay belgique
               <option>envois postal belgique 
               <option>mondial relay france 
               <option>envois postal france 
               <option>mondial relay autre pays
               <option>envois postal autre pays
               
               </select>
              

              Le name de ton select n'est pas le bon.... tu as déjà un couleur au dessus...
              Tes balises option ne sont pas fermées
              Tu n'as pas mis d'attribut value dans tes options.

              Commence par corriger ton html
              Ensuite reviens nous voir en expliquant si tu es bien en PHP .... ( mais vu ta question.. c'est d'avantage du javascript ...)
              Et explique également comment tu fais le lien entre ton choix du mode de livraison .. et les frais...(où sont stockées ces données ?? un array ? en Bdd ? dans un fichier de config ??)

              0
              1. bonsoir
                merci de l aide en fait j essaye de m inspirer de ce modèle que je viens de trouver
                https://jsfiddle.net/gp1f2x5n/1/
                mais lorsque je télécharge les codes html , css et javascript
                le bouton ajouter en as du formulaire ne fonctionne pas
                et ensuite je souhaiterais qu une fois que ce bon de commande est rempli qu il me soit envoyé en php

                pour celui que je viens de poster j ai tenter de réunir deux codes mais apparemment je me suis planter
                donc je souhaiterais savoir si nous pourrions essayer de faire fonctionner ce nouveau modèle que j ai trouve

                merci de l aide
                0