Beste leden

Ik wil graag een formulier maken dat berekend hoeveel het kost om bv. 4 foto's te bestellen
hier de code

          <td height="30" align="left"><div align="right">Aantal foto's&nbsp; <</td>
          <td height="30" align="left"><label>
            <5 foto's bestel kosten die 30 euro maar als ik er 8 bestel 50 euro

iemand een idee ik was aan het denken om

$foto= $_post['foto']
$foto-totaal =$foto *6

ik weet niet of dit ook kan

iemand een idee ik was aan het denken om 
[code]
$foto= $_post['foto'*6]

Alvast bedankt
Arjan
Allereerst: je kunt het altijd proberen. Je server zal er niet door crashen ;)
Je eerste poging zal werken. Je tweede niet.
Let er wel op dat bij je eerste poging de variabele een min-teken bevat. Dit is niet toegestaan in een variabele naam. Dus deze moet dan nog wel weg.

Je tweede kan wel werken als je: $_POST['foto']*6; doet.

Trouwens, je vergeet telkens je regel af te sluiten met een puntkomma;

Ook is het $_POST en niet $_post.
5 foto's bestel kosten die 30 euro maar als ik er 8 bestel 50 euro
Dus bij meer foto's gaat de prijs omhoog .... Grappig.
5 * 6 = 30
8 * 6 = 48 50

$_POST is met hoofdletters.
ik dacht aan zoiets (niet op de slordige code letten dat boeit me namelijk niet)


<?php
$aantal=0;
foreach ($_POST['foto'] as $key => $value) {
  $aantal++;
}

if ($aantal<1){
   echo 'ERROR!';
}elseif ($aantal<=5){
    $ps_prijs = 30/5;
   $prijs = $ps_prijs*$aantal;
}elseif ($aantal<=8){
    $ps_prijs = 50/5;
   $prijs = $ps_prijs*$aantal;
}
echo $prijs;
?>


ofzoiets :P

owja en dit
$foto-totaal =$foto *6 

gaat dus echt NIET werken :P
- ten 1ste kan dat nooit "true" zijn
- het lijkt nog het meeste op het declareren van een variabel maar dan moet er voor de = geen - ofzo komen
- het kan ook nog een if voorstellen maar dan moet het meer zoiets zijn
<?php if ($foto-totaal == $foto *6){ echo 'TRUE!'; }
Hallo Stefan
als je scrpt dus zou nemen en even aanpas na dit


<?php
$aantal=1;
foreach ($_POST['foto'] as $key => $value) {
  $aantal++;
}

if ($aantal<0){
   echo 'ERROR!';
}elseif ($aantal=1){
    $een = 375;
   $prijs = $een*;
}elseif ($aantal<=2){
    $ps_prijs= 25;
   $prijs = $ps_prijs*$aantal+$een;
}
echo $prijs;
?> 

als ik dit doe werk het dan zo altijd 1 als ik 3 wil krijg ik dus een bedrag van 425

Bedankt alvast
Arjan
Moet je in een vergelijking geen dubbele = gebruiken?

}elseif ($aantal=1){

wordt dan:

}elseif ($aantal==1){
nog even een vraagje ik heb krijg een fout melding

Invalid argument supplied for foreach()

waar kan ik zien wat dit inhoud???????????


Bedankt

Arjan
Dan zul je wel geen array hebben meegegeven.
<?php
$aantal=1;

// check eerst of het wel een array() is
foreach ($_POST['foto'] as $key => $value) {
// wat is het nut van alleen een tellertje ophogen
$aantal++;
}

// $aantal zal nooit kleiner dan nul zijn
if ($aantal<0){
echo 'ERROR!';

// in een vergelijking gebruik je == want = is een toekenning
}elseif ($aantal=1){
$een = 375;
// wat doet dat * teken daar?
$prijs = $een*;
}elseif ($aantal<=2){
$ps_prijs= 25;
// $een is hier niet bekend
$prijs = $ps_prijs*$aantal+$een;
}

// $prijs bestaat niet altijd (zie eerste if())
echo $prijs;
?>
Ik denk dat je zoiets bedoelt, maar zeker weten doe ik het niet.

<?php
$eerste_foto = 375;
$volgende_foto = 25;

if(isset($_POST['foto']) and is_array($_POST['foto']))
{
$aantal = count($_POST['foto']);
}
else
{
$aantal = 0;
}

if ($aantal == 0)
{
echo 'Niks besteld<br />';
$prijs = 0;
}
elseif ($aantal == 1)
{
$prijs = $eerste_foto;
}
elseif ($aantal >= 2)
{
$prijs = $eerste_foto + $volgende_foto * ($aantal -1);
}

echo 'Aantal is ' . $aantal . '<br />Prijs is ' . $prijs;
?>
sante niet bumpen :D (wilde het altijd al een keer zeggen :) )

Reageren