berekening van input velden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arjan jansen

arjan jansen

12/07/2010 20:14:39
Quote Anchor link
Beste leden

Ik wil graag een formulier maken dat berekend hoeveel het kost om bv. 4 foto's te bestellen
hier de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
          <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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$foto= $_post['foto']
$foto-totaal =$foto *6

ik weet niet of dit ook kan
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
iemand een idee ik was aan het denken om

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

Alvast bedankt
Arjan
Gewijzigd op 12/07/2010 20:15:42 door Arjan jansen
 
PHP hulp

PHP hulp

23/04/2024 22:06:07
 
Mark L

Mark L

12/07/2010 20:42:06
Quote Anchor link
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.
Gewijzigd op 12/07/2010 20:43:06 door Mark L
 
- SanThe -

- SanThe -

12/07/2010 20:43:19
Quote Anchor link
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.
 
Stefan Renne

stefan Renne

12/07/2010 23:23:19
Quote Anchor link
ik dacht aan zoiets (niet op de slordige code letten dat boeit me namelijk niet)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($foto-totaal == $foto *6){ echo 'TRUE!'; }[/code]
Gewijzigd op 12/07/2010 23:27:22 door stefan Renne
 
Arjan jansen

arjan jansen

13/07/2010 21:33:32
Quote Anchor link
Hallo Stefan
als je scrpt dus zou nemen en even aanpas na dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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
 
Obelix Idefix

Obelix Idefix

13/07/2010 21:44:50
Quote Anchor link
Moet je in een vergelijking geen dubbele = gebruiken?

}elseif ($aantal=1){

wordt dan:

}elseif ($aantal==1){
Gewijzigd op 13/07/2010 21:45:55 door Obelix Idefix
 
Arjan jansen

arjan jansen

13/07/2010 21:51:06
Quote Anchor link
nog even een vraagje ik heb krijg een fout melding

Invalid argument supplied for foreach()

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


Bedankt

Arjan
 
P Lekensteyn

P Lekensteyn

13/07/2010 21:53:17
Quote Anchor link
Dan zul je wel geen array hebben meegegeven.
 
- SanThe -

- SanThe -

13/07/2010 23:57:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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;
?>
Gewijzigd op 14/07/2010 00:00:18 door - SanThe -
 
- SanThe -

- SanThe -

14/07/2010 00:51:45
Quote Anchor link
Ik denk dat je zoiets bedoelt, maar zeker weten doe ik het niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?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;
?>
 
Mitchel V

Mitchel V

14/07/2010 01:18:25
Quote Anchor link
sante niet bumpen :D (wilde het altijd al een keer zeggen :) )
 
P Lekensteyn

P Lekensteyn

14/07/2010 10:20:01
Quote Anchor link
Het mag hoor, het is een nieuwe dag :p
 
Arjan jansen

arjan jansen

14/07/2010 12:27:37
Quote Anchor link
Hallo

Ik heb hem even veranderd in dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$aantal
=1;
$aantal= $POST['value'];



if ($aantal<1){
   echo 'ERROR!';
  

}
elseif ($aantal==1){
    $een = 375;
    // wat doet dat * teken daar?
   $prijs = $een;
}
elseif ($aantal<=2){
    $ps_prijs= 25;
    $een = 375;
  
   $prijs = $ps_prijs*$aantal+$een;
}


echo $prijs;
?>


Arjan
Gewijzigd op 14/07/2010 12:33:53 door arjan jansen
 
Arjan jansen

arjan jansen

16/07/2010 02:09:36
Quote Anchor link
Hallo

Ik heb het voorbeeld van Santhe gebruikt
Nu is mijn vraag de berekening wil ik laten weergeven in bereken.php dat heb ik het form ingegeven maar moet ik dan de code van Santhe in bereken.php plaatsen of gewoon op de website waar het formulier staat

alvast bedankt
 
Arjan jansen

arjan jansen

04/08/2010 23:40:32
Quote Anchor link
Hallo ik ben nog altijd met dit gebeuren bezig maar kom niet echt verder
Ik heb nu deze code in html
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
    <form id="form1" name="form1" method="POST" action="kosten.php">
      <table width="700" border="0" align="center" cellpadding="0" cellspacing="0" class="tekst">
        <tr>
          <td width="24%" height="30">Ontwerp huisstijl </td>
          <td width="14%" height="30"><label>
            <input name="huisstijl" type="radio" value="1" />
          Ja
          <input name="huisstijl" type="radio" value="0" checked="checked" />
          Nee</label></td>
          <td width="6%" height="30"><a href="#" title="Kies voor ja als u nog geen eigen huisstijl heeft of als deze niet digitaal aangeleverd kan worden."><img src="images/info.gif" width="19" height="17" hspace="5" vspace="3" border="0" /></a></td>
          <td width="34%" height="30"><div align="right">Aantal pagina's&nbsp; </div></td>
          <td width="16%" height="30"><label>
          <input name="paginas" type="text" id="paginas" value="0" size="3" />
          </label></td>
          <td width="6%" height="30"><a href="#" title="Het aantal statische pagina's binnen de site. Hier gelden niet de pagina's uit een database als bijvoorbeeld een artikelbestand."><img src="images/info.gif" width="19" height="17" hspace="5" vspace="3" border="0" /></a></td>
        </tr>
        <tr>
          <td height="30">Nieuwsbrief</td>
          <td height="30"><input name="nieuwsbrief" type="radio" value="1" />
Ja
  <input name="nieuwsbrief" type="radio" value="0" checked="checked" />
Nee</td>
          <td height="30"><a href="#" title="Met een nieuwsbriefsysteem is het mogelijk een door uzelf onderhouden pagina met n klik als mail te versturen naar alle e-mail adresssen in een database"><img src="images/info.gif" width="19" height="17" hspace="5" vspace="3" border="0" /></a></td>
          <td height="30"><div align="right">Aantal foto's&nbsp; </div></td>
          <td height="30"><label>
            <input name="fotos" type="text" id="fotos" value="0" size="3" />
          </label></td>
          <td height="30"><a href="#" title="Het aantal foto's op uw site. Hier gelden niet de foto's die u zelf plaatst in bijvoorbeeld een catalogus of met een CMS."><img src="images/info.gif" width="19" height="17" hspace="5" vspace="3" border="0" /></a></td>
        </tr>
        <tr>
          <td height="30">CMS-systeem </td>
          <td height="30"><input name="cms" type="radio" value="1" />
Ja
  <input name="cms" type="radio" value="0" checked="checked" />
Nee</td>
          <td height="30"><a href="#" title="Met een CMS-systeem is het mogelijk zelf teksten en foto's op uw pagina's te wijzigen. Zie hiervoor de demonstratie op de pagina onderhoud."><img src="images/info.gif" width="19" height="17" kosten.php


Hier de php code
<?php
$eerste_paginas
= 375;
$volgende_paginas = 25;

if(isset($_POST['paginas']) and is_array($_POST['paginas']))
{

    $aantal = count($_POST['paginas']);
}

else
{
    $aantal = 0;
}


if ($aantal == 0)
{


    $prijs = 0;
}

elseif ($aantal == 1)
{

    $prijspaginas = $eerste_paginas;
}

elseif ($aantal >= 2)
{

    $prijspaginas =  $eerste_paginas + $volgende_paginas * ($aantal -1);
}


echo 'Paginas ' . $aantal . '<br />Prijs ' . $prijspaginas;
?>
  

<?php
$eerste_fotos
= 375;
$volgende_fotos= 25;

if(isset($_POST['fotos']) and is_array($_POST['foto']))
{

    $aantal = count($_POST['fotos']);
}

else
{
    $aantal = 0;
}


if ($aantal == 0)
{

    $prijs = 0;
}

elseif ($aantal == 1)
{

    $prijsfotos = $eerste_fotos;
}

elseif ($aantal >= 2)
{

    $prijsfotos =  $eerste_fotos + $volgende_fotos * ($aantal -1);
}


echo 'Fotos ' . $aantal . '<br />Prijs  ' . $prijsfotos;
?>


<?php
$eerste_formulieren
= 375;
$volgende_formulieren = 25;

if(isset($_POST['formulieren']) and is_array($_POST['formulieren']))
{

    $aantal = count($_POST['formulieren']);
}

else
{
    $aantal = 0;
}


if ($aantal == 0)
{

  
    $prijs = 0;
}

elseif ($aantal == 1)
{

    $prijspaginas = $eerste_formulieren;
}

elseif ($aantal >= 2)
{

    $prijsformulieren =  $eerste_formulieren + $volgende_formulieren* ($aantal -1);
}


echo 'Formulieren ' . $aantal . '<br />Prijs  ' . $prijsformulieren;
?>


<?php
$eerste_flash
= 375;
$volgende_flash = 125;

if(isset($_POST['flash']) and is_array($_POST['flash']))
{

    $aantal = count($_POST['flash']);
}

else
{
    $aantal = 0;
}


if ($aantal == 0)
{

    $prijs = 0;
}

elseif ($aantal == 1)
{

    $prijsflash = $eerste_flash;
}

elseif ($aantal >= 2)
{

    $prijsflash =  $eerste_flash + $volgende_flash * ($aantal -1);
}


echo 'Flash ' . $aantal . '<br />Prijs  ' . $prijsflash;
?>

[/]
Nu is het zo dat hij de de prijs altijd op nul zet
wat ik invul er word niks berekend

Wat doe ik fout of wat vergeet ik te doen

Arjan
Gewijzigd op 04/08/2010 23:41:31 door arjan jansen
 
- SanThe -

- SanThe -

05/08/2010 00:01:05
Quote Anchor link
Je hebt van de 4 POST-waarden er slechts 2 <input>'s in je formulier staan. En die twee staan er maar 1 keer in, dus die zullen geen array() teruggeven.

Maak van
<input name="fotos" type="text" id="fotos" value="0" size="3" />

Eens dit
<input name="fotos[]" type="text" value="" size="20" />
<input name="fotos[]" type="text" value="" size="20" />
<input name="fotos[]" type="text" value="" size="20" />
<input name="fotos[]" type="text" value="" size="20" />

En vul ze eens in en post dan het formulier.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.