Ik ben bezig met een bestelformulier aan het maken voor een bestelformulier opdracht met PHP.
Het HTML formulier heb ik maar simpel in elkaar gezet, maar dan?...

Ik ben zover dat ik de uitgaande waardes in mijn "Orderbevestiging" heb staan.
Maar er zijn dingen die ik nog niet helemaal snap en de kluts kwijt raak.

Zo moet ik wanneer ik het desbetreffende product selecteer automatisch een prijs te zien krijgen.
Nu heb ik prijs nog in een aanpasbaar tekstvak staan, maar is door iedereen aan te passen.
Ook moet aan dat product een leeftijdscategorie hangen.
Deze wordt gecontroleerd met het ingegeven leeftijd door de eindgebruiker.
Wanneer de gebruiker niet oud genoeg is moet deze in de volgende pagina een melding hiervan krijgen dat deze niet besteld mag worden.

Zou iemand mij hier tips over kunnen geven of eventueel mee kunnen helpen?
Zou iemand die page1.php misschien een beetje kunnen aanpassen en met comments bij kunnen vertellen wat dit precies dan doet?
Alles gaat bij mij nu een beetje door elkaar...

[size=xsmall]Toevoeging op 27/06/2015 16:47:25:[/size]

Ik krijg nu dit te zien namelijk na het toevoegen van dat:


<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>


Array
(
[naam] => Bas van Balkom
[leeftijd] => 18
[qty] => 2
[id] => 1
[minimumleeftijd] => 0
[submit] => Bestel
)

Notice: Undefined index: prijs in C:\xampp\htdocs\PHPboek\page1.php on line 20

Notice: Undefined index: minimumleeftijd18 in C:\xampp\htdocs\PHPboek\page1.php on line 22
Orderbevestiging Call Of Duty

Uw gegevens:

Uw naam: Bas van Balkom
Uw leeftijd: 18

U heeft gekozen voor: Call of Duty voor een prijs van € 24.95 incl. BTW per stuk
Uw gekozen aantal: 2
Uw totaalprijs is: $totaalprijs
Dit product valt binnen de leeftijds categorie:
$minimumleeftijd


Bedank voor uw bestelling! Uw bestelling wordt z.s.m. verzonden.
Wijzig dit:
<?php
$minimumleeftijd = $_POST['minimumleeftijd' . 18];
?>


Naar:
<?php
$minimumleeftijd = 0;
if(isset($_POST['minimumleeftijd'])
 {
 $minimumleeftijd = intval($_POST['minimumleeftijd']));
 }
if($minimumleeftijd == 0)
 {
 echo 'Geen leeftijd opgegeven!';
 }
?>
Dan geeft hij een error:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\PHPboek\page1.php on line 4
Op regel 3 mist nog een ) aan het eind.
En regel 5 heeft er 1 teveel.
Oke minimum leeftijd werkt inmiddels...
Alleen totaalprijs berekening krijg ik gewoon nog steeds niet goed :(
<?php echo $totaalprijs; ?>
Nee werkte ook niet.

Ik moet aan de hand van de ingevulde &qty een som maken met die 24.95
Dus ik had: $totaalprijs = $qty * $product['prijs'];
Maar de hij pakt de prijs niet meer over.
Dan ga je op zoek naar de oorzaak.
Heb je errorreporting aan staan?
Als de prijs niet klopt, ga je na waarom. Misschien is de naam van de variabele fout?
Dat is het hem juist... Ik kan die fout niet vinden.
Vorige pagina's staat mijn code die ik nu heb..
Dus als je tijd en zin hebt, zou je er misschien even mee naar willen kijken?
Als je de fout niet kan vinden: Zet [php]error_reporting[/php] op E_ALL. Ga bij elke if(-elseif)-else tijdelijk een echo plaatsen met een verschillende tekst, zodat je weet welke route je script doorloopt.

Probeer de fout anders eens te isoleren door je code tijdelijk wat minder functionaliteit te geven.

Als je merkt dat je niet de juiste data krijgt uit je array, dan kan je met de [php]print_r[/php] functie array's voor mensenogen 'afdrukken' op je scherm, en met [php]var_dump[/php]kan je informatie over variabelen zien.

Met andere woorden: Verdiep je eens in de wereld van debuggen, zodat je weet waar de fout zich (ongeveer) bevindt.

Reageren