Wil een eenvoudig bestelformulier met 4 producten. Op het formulier moet het totaalbedrag komen te staan.
Wat ik heb werkt niet. Waar gaat dit fout?
Code:<form action="<? echo($_SERVER["PHP_SELF"]); ?>" enctype='multipart/form-data' class="cmxform" id="commentForm" method="POST"> <table> <tr><td width="150" valign="top"><img src="images/100ml.jpg"</td><td>productomschrijving .</td></tr> <tr><td></td><td>Prijs: 5 €</td></tr> <tr><td></td><td><label for="100ml">Aantal bestellen:</label><input id="100ml" name="100ml" value="<?php post('100ml'); ?>"/></td></tr> <tr><td colspan="2"><br /><HR></td></tr> <tr><td width="150" valign="top"><img src="images/500ml.jpg"</td><td>productomschrijving.</td></tr> <tr><td></td><td>Prijs: 12 €</td></tr> <tr><td></td><td><label for="500ml">Aantal bestellen:</label> id="500ml" name="500ml" value="<?php post('500ml'); ?>"/></td></tr> <tr><td colspan="2"><br /><HR></td></tr> <tr><td width="150" valign="top"><img src="images/5liter.jpg"</td><td>productomschrijving.</td></tr> <tr><td></td><td>Prijs: 30 €</td></tr> <tr><td></td><td><label for="5liter">Aantal bestellen:</label> id="5liter" name="5liter" value="<?php post('5liter'); ?>"/></td></tr> <tr><td colspan="2"><br /><HR></td></tr> </table> <HR> <? $totaal_100ml = $_POST['id_100ml']*5; $totaal_500ml = $_POST['500ml']*12; $totaal_5liter = $_POST['5liter']*30; $totaal = $totaal_100ml+$totaal_500ml+$totaal_5liter; ?> <p>Totaal bestelling: <? echo $totaal; ?></p> <HR>
- Hulp nodig bij bestelformulier
-
09-11-2016, 15:43 #1
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Hulp nodig bij bestelformulier
-
09-11-2016, 16:28 #2Particulier
- Berichten
- 45
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Ik moet zeggen dat de script grammaticaal een bende is. Heb inmiddels wel door hoe dat formulier moet.
-
09-11-2016, 16:52 #3
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Dat is de reden dat ik hier hulp vraag, zelf geen ervaring.
Maar ik begrijp dat je niet wilt helpen?
-
09-11-2016, 17:22 #4
- Berichten
- 64
- Lid sinds
- 8 Jaar
Re: Hulp nodig bij bestelformulier
doe eens <?php var_dump($totaal); ?>
En probeer eens:
<?
$totaal_100ml = $_POST['100ml']*5;
$totaal_500ml = $_POST['500ml']*12;
$totaal_5liter = $_POST['5liter']*30;
$totaal = $totaal_100ml+$totaal_500ml+$totaal_5liter;
?>
Wil beide outputs even weten met en zonder var_dump
Laatst aangepast door Randy van Dongen : 09-11-2016 om 17:28
-
09-11-2016, 17:46 #5Particulier
- Berichten
- 45
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
PHP Code:<?php
$totaal = 0;
if(isset($_POST["submit"])){
$totaal_100ml = $_POST['100ml']*5;
$totaal_500ml = $_POST['500ml']*12;
$totaal_5liter = $_POST['5liter']*30;
$totaal = $totaal_100ml+$totaal_500ml+$totaal_5liter;}
?>
<form action="<?php print($_SERVER["PHP_SELF"]); ?>" class="cmxform" id="commentForm" method="POST">
<table>
<tr><td width="150" valign="top"><img src="https://www.sitedeals.nl/images/100ml.jpg"</td><td>productomschrijving .</td></tr>
<tr><td></td><td>Prijs: 5 €</td></tr><tr><td></td><td><label for="100ml">Aantal bestellen:</label><input id="100ml" name="100ml" value="<?php print($_POST['100ml']); ?>"/></td></tr><tr><td colspan="2"><br /><HR></td></tr>
<tr><td width="150" valign="top"><img src="https://www.sitedeals.nl/images/500ml.jpg"</td><td>productomschrijving.</td></tr>
<tr><td></td><td>Prijs: 12 €</td></tr><tr><td></td><td><label for="500ml">Aantal bestellen:</label><input id="500ml" name="500ml" value="<?php print($_POST['500ml']); ?>"/></td></tr><tr><td colspan="2"><br /><HR></td></tr>
<tr><td width="150" valign="top"><img src="https://www.sitedeals.nl/images/5liter.jpg"</td><td>productomschrijving.</td></tr>
<tr><td></td><td>Prijs: 30 €</td></tr><tr><td></td><td><label for="5liter">Aantal bestellen:</label><input id="5liter" name="5liter" value="<?php print($_POST['5liter']); ?>"/></td></tr>
<tr> <td><input type="submit" name="submit" id="submit"/></td></tr><tr><td colspan="2"><br /><HR></td></tr>
</table>
</form><HR><p>Totaal bestelling: <?php echo $totaal; ?></p><HR>
-
09-11-2016, 20:17 #6
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Welke foutmelding krijg je?
doe eens <?php var_dump($totaal); ?>
En probeer eens:
<?
$totaal_100ml = $_POST['100ml']*5;
$totaal_500ml = $_POST['500ml']*12;
$totaal_5liter = $_POST['5liter']*30;
$totaal = $totaal_100ml+$totaal_500ml+$totaal_5liter;
?>
Wil beide outputs even weten met en zonder var_dump
-
09-11-2016, 20:52 #7
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Ofyles2, dit werkt hetzelfde als mijn code. Pas na versturen van het formulier zie je voor hoeveel je besteld hebt.
Zijn er mogelijkheden om dat eerder zichtbaar te maken? Bijvoorbeeld met een knop om de invoer te bevestigen per product, zonder het formulier te versturen?
-
09-11-2016, 20:55 #8
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
De vardump geeft in beide gevallen hetzelfde (goede) resultaat.
-
09-11-2016, 21:17 #9
- Berichten
- 1.290
- Lid sinds
- 13 Jaar
Re: Hulp nodig bij bestelformulier
Dat is logisch, PHP kan namelijk niet eerst uitrekenen en dan echo'en bij elke wijziging.
Daarvoor moet je naar Javascript oplossingen kijken om het dynamisch te maken.
-
09-11-2016, 21:54 #10
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Had ik ook al geprobeerd, maar werkte ook niet.
<script>
function count() {
var 100ml = document.getElementById('100ml');
var 500ml = document.getElementById('500ml');
var totals = 100ml.value*5 + 500ml.value*12;
document.getElementById("showTotalHere").innerHTML = totals.value;
}
</script>
<p>Totaal bestelling: <? echo totals.value; ?></p>
-
09-11-2016, 21:56 #11
- Berichten
- 64
- Lid sinds
- 8 Jaar
Re: Hulp nodig bij bestelformulier
Heb je het ergens online staan?
-
09-11-2016, 21:59 #12Particulier
- Berichten
- 3
- Lid sinds
- 11 Jaar
Re: Hulp nodig bij bestelformulier
Alsjeblieft, ik denk dat je hier wel wat aan hebt
Code:<form class="cmxform" id="commentForm" method="POST"> <table width="1030"> <tr style="text-align:left;"> <th> Afbeelding </th> <th> Prijs </th> <th> Aantal </th> </tr> <tr> <td> ** </td> <td> 5,00 </td> <td> <input type="text" name="100ml" value="<?php echo (isset($_POST["100ml"]) ? $_POST["100ml"] : "0") ?>" required /> </td> </tr> <tr> <td> ** </td> <td> 12,00 </td> <td> <input type="text" name="500ml" value="<?php echo (isset($_POST["500ml"]) ? $_POST["500ml"] : "0") ?>" required/> </td> </tr> <tr> <td> ** </td> <td> 30,00 </td> <td> <input type="text" name="5liter" value="<?php echo (isset($_POST["5liter"]) ? $_POST["5liter"] : "0") ?>" required/> </td> </tr> <tr> <td colspan="3"> <input type="submit" value="Bestellen" name="btnOrder"> </td> </tr> </table> </form> <?php if(isset($_POST["btnOrder"])) { $count100 = $_POST["100ml"]; $count500 = $_POST["500ml"]; $count5000 = $_POST["5liter"]; $countTotal = ($count100 * 5) + ($count500 * 12) + ($count5000 * 30); echo "<hr>"; echo "Totaal bestelling: " . $countTotal . " euro"; echo "<hr>"; } ?>
-
09-11-2016, 21:59 #13
- Berichten
- 1.290
- Lid sinds
- 13 Jaar
Re: Hulp nodig bij bestelformulier
Je khnt niet middels PHP een javascript variabel echo'en. Je moet die functie zo maken dat bij elke verandering aan een van de velden automatisch een getal in bijv. Een span element met een bepaalde class wordt aangepast.
-
10-11-2016, 00:18 #14
- Berichten
- 2.287
- Lid sinds
- 16 Jaar
Re: Hulp nodig bij bestelformulier
Serhat, ook dat werkt goed als na het invoeren van de drie velden op verzenden wordt geklikt.
Probleem is dat onder het formulier nog verplichte velden moeten komen van adresgegevens, dat zal dus een foutmelding geven.
Ik zal het dus opsplitsen in twee formulieren: eerst de bestelling met per regel een bevestiging van het aantal, daarna een akkorrd die naar het volgende formulier gaat voor de adresgegevens. Volgens mij moet dat goed gaan werken.
Allen bedankt. Als er nog betere oplossingen zijn dan verneem ik dat graag.
-
10-11-2016, 01:24 #15Particulier
- Berichten
- 3
- Lid sinds
- 11 Jaar
Re: Hulp nodig bij bestelformulier
Dat is een optie, je kunt het ook gewoon simpel houden en alles binnen 1 formulier verwerken.
Voorbeeld:
Code:<form class="cmxform" id="commentForm" method="POST"> <table width="700"> <tr style="text-align:left;"> <th> Afbeelding </th> <th> Prijs </th> <th> Aantal </th> </tr> <tr> <td> ** </td> <td> 5,00 </td> <td> <input type="text" name="100ml" value="<?php echo (isset($_POST["100ml"]) ? $_POST["100ml"] : "0") ?>" required /> </td> </tr> <tr> <td> ** </td> <td> 12,00 </td> <td> <input type="text" name="500ml" value="<?php echo (isset($_POST["500ml"]) ? $_POST["500ml"] : "0") ?>" required/> </td> </tr> <tr> <td> ** </td> <td> 30,00 </td> <td> <input type="text" name="5liter" value="<?php echo (isset($_POST["5liter"]) ? $_POST["5liter"] : "0") ?>" required/> </td> </tr> </table> <table width="450"> <tr> <td>Volledige naam</td> <td><input type="text" name="tbFirstname" placeholder="Volledige naam *" required/></td> </tr> <tr> <td>Adres + huisnummer</td> <td><input type="text" name="tbAddress" placeholder="Adres + huisnummer *" required/></td> </tr> <tr> <td>Postcode</td> <td><input type="text" name="tbPostal" placeholder="Postcode *" required/></td> </tr> <tr> <td>Woonplaats</td> <td><input type="text" name="tbCity" placeholder="Woonplaats *" required/></td> </tr> </table> <input type="submit" value="Bestellen" name="btnOrder"> </form> <style> input[type=text]{ width:100%; } </style> <?php if(isset($_POST["btnOrder"])) { $count100 = $_POST["100ml"]; $count500 = $_POST["500ml"]; $count5000 = $_POST["5liter"]; $countTotal = ($count100 * 5) + ($count500 * 12) + ($count5000 * 30); echo "<hr>"; echo "<b>Totaal bestelling: </b>" . $countTotal . " euro"; echo "<br><b>Volledige naam: </b>" . $_POST["tbFirstname"]; echo "<br><b>Adres+huisnummer: </b>" . $_POST["tbAddress"]; echo "<br><b>Postcode: </b>" . $_POST["tbPostal"]; echo "<br><b>Woonplaaats: </b>" . $_POST["tbCity"]; echo "<hr>"; } ?>
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic