Aide pour realiser un bon de commande en php et html

flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
       
      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
  2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  3. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu ne réponds pas à mes questions.... dans ces conditions comment espères tu qu'on puisse t'aider ????!!
      0
  4. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour le lien
    oui des formulaires de contacts mais pas des bons de commandes
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Oui mais ça te donne une bonne base pour faire de l'envoi de données en PHP par mail...
      0
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    je vais y jeter un oeil merci
    0
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    comment ca marche ne prends pas mon message
    0
  9. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    oupsss désolé cela fonctionne
    le courrier était dans les spams
    0
  10. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  11. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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
  12. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour
    un petit up svp merci
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  13. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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