Ik hoop dat de titel jullie interesse heeft gewekt om mijn probleem op te lossen.
Na in 5 verschillende boeken gezocht te hebben kom ik er zelf niet uit.
Ik ben een formulier aan het maken waarmee ik wil uitrekenen wat iets kost.
Hoe kan ik een waarde meegeven aan de invoer van een select zodat ik er later mee kan rekenen.
Bijv:
Het wit brood kost 1.00, het bruinbrood 1.25 en het volkorenbrood 1.50
Als ik wil uitrekenen wat 3 volkorenbroden kosten dan moet ik op een of andere wijze de variabele $broden in drieen splitsen en ook nog eens een aparte waarde mee kunnen geven.
Google snapt me ook niet als ik het daar probeer te zoeken!
Ik snap dat je bedoeld dat er waarden niet gedefinieerd zijn en dat bijv. $xSoort niet bestaat, maar dat heb ik toch daarboven gedaan door te zeggen dat $xSoort de waarde is die uit de Array $_POST met de naam $_POST['soort']? Of zie ik dat nu helemaal fout?
zie:
[script]
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
//als er op de knop berekenen gedrukt wordt
if ($_SERVER['REQUEST_METHOD'] == 'POST')
//dan is $xSoort gelijk aan de uit de array $_POST gehaalde waarde van de value 'soort' van het formulier
//dan is $xTarief gelijk aan de uit de array $_POST gehaalde waarde van de value 'tarief' van het formulier
//dan is $xAantal gelijk aan de uit de array $_POST gehaalde waarde van de value 'aantal' van het formulier
//dan is $xExtra gelijk aan de uit de array $_POST gehaalde waarde van de value van radio 'extra' van het formulier
{
$xSoort = $_POST['soort'];
$xTarief = $_POST['tarief'];
$xAantal = $_POST['aantal'];
$xExtra = $_POST['extra'];
}
?>
[/script]
[size=xsmall]Toevoeging op 17/05/2014 20:47:08:[/size]
Ger,
Ik probeerde aan de hand van het voorbeeld "broden" een oplossing te vinden voor het rekenen met tarieven.
Met relevante code bedoel je alleen de php code neem ik aan, prima!
if ($_SERVER['REQUEST_METHOD'] == 'POST') // if statement alleen uitvoeren als er data gepost wordt
{
$xSoort = $_POST['soort']; // deze declaraties gebeuren dus niet als er geen data gepost wordt.
$xTarief = $_POST['tarief'];
$xAantal = $_POST['aantal'];
$xExtra = $_POST['extra'];
}
if (isset($_POST['extra']))
{
$Resultaat = $xSoort+$xTarief+$xAantal+$xExtra; // indien er geen data gepost is bestaan $xSoort etc. dus niet!
} else {
$Resultaat = $xSoort+$xTarief+$xAantal; // indien er geen data gepost is bestaan $xSoort etc. dus niet!
}
?>
// ALLEEN ALS ER DATA GE-POST IS HET ONDERSTAANDE UITVOEREN:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$xSoort = $_POST['soort']; // STANDAARD WAARDEN WORDEN OVERSCHREVEN
$xTarief = $_POST['tarief'];
$xAantal = $_POST['aantal'];
$xExtra = $_POST['extra'];
$Resultaat = $xSoort+$xTarief+$xAantal;
if (isset($_POST['extra']))
$Resultaat = $xSoort+$xTarief+$xAantal+$xExtra;
Oh, ik zie dat je al een oplossing geven hebt, had ik niet gezien dus heb de hele avond gepuzzeld en ben tot het volgende gekomen wat tot op zekere hoogte werkt (nog even daar gelaten of dit de slimste manier is):
[script]
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$Resultaat = 0;
// ALLEEN ALS ER DATA GE-POST IS HET ONDERSTAANDE UITVOEREN:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
// ALTIJD UITVOEREN:
if (isset($_POST['soort']))
if (isset($_POST['tarief']))
if (isset($_POST['aantal']))
if (isset($_POST['extra']))
{
$Resultaat = ($_POST['soort'])+($_POST['tarief'])+($_POST['aantal'])+($_POST['extra']);
}
else
{
$Resultaat = ($_POST['soort'])+($_POST['tarief'])+($_POST['aantal']);
}
?>
[/script]
en het resultaat:
[script]
<?php
if(empty($Resultaat))
{
echo "U heeft nog geen berekening uitgevoerd";
} else{
$Resultaat = sprintf('%.02F', $Resultaat);
echo "Het door u berekende tarief is €".$Resultaat ;
}
?>
[/script]
[size=xsmall]Toevoeging op 18/05/2014 21:33:48:[/size]
Mijne heren (oeps en dames),
Hij ging lekker, deed bijna alles wat ik wilde, maar had het idee dat ik toch de weg van de minste weerstand had gekozen en wil er toch iets meer uit de gegevens halen.
Mijn vraag:
Ik heb het formulier herschreven naar jullie voorbeeld:
[script]
<select name="tarief">
<option value="1" data-price="42.50">Oostzaan of Zaandam</option>
[/script
Naar mijn idee zitten daar 4 verschillende gegevens in: name="tarief", value="1", data-price="42.50" en de zin Oostzaan of Zaandam.
Zitten deze 4 gegevens allemaal in de array $_POST en kan ik die bij het verwerken er ook zo weer uithalen?
Heb vooral Engelstalige pagina's bekeken over de foreach loop, maar wordt daar niet veel wijzer van.
Graag jullie uitleg indien mogelijk.
Moet ik het zoeken in de meerdemensionale array's hoek?