Hulp met mijn script en externe functie (shoppingcart)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas vieren

klaas vieren

02/01/2011 19:42:25
Quote Anchor link
Beste mensen,

Ik kan er niet uitkomen! Ik heb alles een paar keer gecontroleerd, maar weet echt niet wat ik verkeerd doe?

Ik heb twee php bestanden. De main en de include functie.

Main:

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
<?php
include("bestellingfuncties.php")
?>

</hr>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<form name="orderform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Korting:<br />
<input type="checkbox" name="korting1" value="15">Student 15%</br />
<input type="checkbox" name="korting2" value="10">Senior 10%</br />
<input type="checkbox" name="korting3" value="5">Klant 5%</br />

<hr />
Betalingswijze:
<input type="radio" name="Betalingswijze" value="Paypal">Paypal
<input type="radio" name="Betalingswijze" value="Mastercard">Mastercard
<input type="radio" name="Betalingswijze" value="Visa">Visa
<hr />

<tr>
<td>
<img src="toshiba.jpg"  alt="Toshiba laptop" />
</td>
</tr>

<tr>
<td>
Toshiba Satellite A100-510   Basisprijs 999.99
</td>
</tr>

<tr>
<td><!--Shopping Cart Begin-->
<input type="hidden" name="product" value="001" />
<input type="hidden" name="merk" value="Toshiba" />
<input type="hidden" name="model" value="Satellite A100-510" />

Operating system:
<select name="os" value="true">
<option value="xp">Windows xp</option>
<option value="vista">Windows Vista</option>
<option value="linux">Linux</option>
</select>

Aantal:
<input type="text" size=2 maxlength=3 name="aantal" value="0" />
<input type="hidden" name="prijs" value="999.99" />

<input type="image" src="bestel.png" border=0 value="bestellen" />
</td>

<tr>
<td>
<img src="acer.jpg"  alt="Acer laptop" />
</td>
</tr>

<tr>
<td>
Acer Aspire 57357Z Basisprijs 529.99
</td>
</tr>

<td>
<input type="hidden" name="product" value="002" />
<input type="hidden" name="merk" value="Acer" />
<input type="hidden" name="model" value="Aspire 5735Z" />

Operating system:
<select name="os" value="true">
<option value="xp">Windows xp</option>
<option value="vista">Windows Vista</option>
<option value="linux">Linux</option>
</select>

Aantal:
<input type="text" size=2 maxlength=3 name="aantal" value="0" />
<input type="hidden" name="prijs" value="529.99" />
<input type="image" src="bestel.png" border=0 value="bestellen" />
<hr /></td>

<!--Shopping Cart End  -->
</tr>
</form>
</table>

<?php

echo "Korting is: " . ($_POST["korting1"] + $_POST["korting2"] + $_POST["korting3"]) . " procent" . "<br />";
if($_POST["aantal"] * $_POST["prijs"]>="5000")
{

echo "Kredietlimiet bereikt---Je bestelling mag maximaal 5000 euro’s bedragen " . $_POST["naam"];
}

else if($_POST["aantal"] * $_POST["prijs"]<"5000" && $_POST["aantal"] * $_POST["prijs"]>"0")
{

echo "Uw bestelling bedraagt " .$_POST["aantal"] * $_POST["prijs"];
}


switch($_POST['Betalingswijze'])
{
case
"Paypal":
echo "<br />Uw betaling wordt behandeld via PayPal";
break;

case
"Mastercard":
echo "<br />Uw betaling wordt behandeld via Mastercard";
break;

case
"Visa":
echo "<br />Uw betaling wordt behandeld via Visa";
break;

default:

echo "<br />U moet een betalingswijze kiezen! <br />";
}



echo beschikbaarheid($_POST['merk'], $_POST['os']);

echo bestellingoverzicht()

?>


en bestellingfunctie:
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
<?php
function beschikbaarheid($merk, $os)
{

// deze functie heeft twee input parameters
// $merk verwijzt naar de merk-hash-array
// $os verwijzt naar de os-hash-array
// deze functie geeft de beschikbaarheid van de laptop met os terug.



$beschikbaar = array
(
"Toshiba" => array
(
"xp"=> "U heeft voor de operating system xp gekozen.",
"vista" => "Deze laptop is niet beschikbaar met de vista operating system.",
"linux" => "U heeft voor de operating system linux gekozen."
),
"Acer" => array
(
"xp"=> "U heeft voor de operating system xp gekozen.",
"vista" =>"U heeft voor de operating system vista gekozen.",
"linux" =>" U heeft voor de operating system linux gekozen."
),
"Hp" => array
("xp"=> "U heeft voor de operating system xp gekozen.",
"vista" => "Deze laptop is niet beschikbaar met de vista operating system.",
"linux" => "Deze laptop is niet beschikbaar met de linux operating system."
)
);


return($beschikbaar[$merk][$os]);
}


//

function bestellingoverzicht()
{


$laptop["toshiba"] = "toshiba";
$laptop["acer"] = "acer";

$info[1] = "product";
$info[2] = "merk";
$info[3] = "model";
$info[4] = "os";
$info[5] = "aantal";
$info[6] = "prijs";

echo "<br />
<table width='80%' border='1' >
<caption>
<strong>Bestellingoverzicht</strong>
</caption>
<thead>
<tr><th>Product</th><th>Merk</th><th>Model</th><th>OS</th><th>Aantal</th><th>Basisprijs</th></tr>
</thead>
<tbody>"
;

foreach($laptop as $key => $value)
{

$aantal = $value. "aantal";
if($_POST[$aantal] == 0) continue;
$reij = "<tr>";
for($x=1; $x<=sizeof($info); $x++)
{

$element = $value . $info[$x];
$reij = $reij . "<td>" . $_POST[$element] ."</td>";
}

$reij = $reij . "</tr>";
echo $reij;
}

echo "</tbody></table>";
}

?>


De opdracht vraag was:
Stap 3: Open lab10.php en voeg een nieuwe laptop eraan toe zodat er een overzicht in een tabelformaat wordt.

Het is de bedoeling dat echt gebruik moet worden gemaakt van de foreach lus en het zou er zo uit moeten komen zien:

Afbeelding

Ik hoop dat iemand mij kan helpen!

Gebruik [code][/code] tags voor het overzichtelijk weergeven van code. Zie ook de FAQ.[/modedit]
Gewijzigd op 02/01/2011 20:38:27 door Joren de Wit
 
PHP hulp

PHP hulp

24/04/2024 11:21:38
 

02/01/2011 20:01:14
Quote Anchor link
- Code op het forum plaats je tussen [code] en [/code] tags.
- Alleen relevante code plaatsen.
- Formulieren horen niet in tabellen gestylt te worden.
- Gebruik je nog html4 of gebruik je html5? Zo niet: je html is niet correct.
- Controleren of een post gedaan is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST').
- integers / php.net:integers horen niet tussen quotes.
- Kijk eens naar regel 34 van main.
- Het loopt zeker niet helemaal lekker in die bestellingoverzicht functie? Zie ook function.

)
 
Klaas vieren

klaas vieren

02/01/2011 22:04:59
Quote Anchor link
Blanche, dank je wel voor de wijziging in mijn topic. Ben namelijk nieuw hier en wist dat niet. Merci!

Toevoeging op 02/01/2011 22:06:53:

Karl Karl op 02/01/2011 20:01:14:
- Code op het forum plaats je tussen [code] en [/code] tags.
- Alleen relevante code plaatsen.
- Formulieren horen niet in tabellen gestylt te worden.
- Gebruik je nog html4 of gebruik je html5? Zo niet: je html is niet correct.
- Controleren of een post gedaan is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST').
- integers / php.net:integers horen niet tussen quotes.
- Kijk eens naar regel 34 van main.
- Het loopt zeker niet helemaal lekker in die bestellingoverzicht functie? Zie ook function.

)


Dank je voor je reactie. Karl, als het niet een te grote moeite is.. zou je me dan laten zien hoe ik het moet wijzigen.. dank je wel!

Toevoeging op 03/01/2011 13:32:46:

Niemand.. :(
 
Klaas vieren

klaas vieren

03/01/2011 22:45:47
Quote Anchor link
Niemand die het even voor me kan wijzigen zodat het werkt..
 
- Ariën  -
Beheerder

- Ariën -

03/01/2011 22:59:35
Quote Anchor link
Waarom, er zijn toch al tips gegeven?
 
Ozzie PHP

Ozzie PHP

03/01/2011 23:00:24
Quote Anchor link
Vraag je nu aan ons om voor jou je huiswerk uit te voeren????


We willen je wel helpen maar je zult zelf ook wat moeite moeten doen. Wat gaat er eigenlijk fout. Krijg je een foutmelding?
 
Klaas vieren

klaas vieren

03/01/2011 23:55:53
Quote Anchor link
@Aar, toch weet ik niet wat ik moet wijzigen.

@Ozzie PHP, natuurlijk niet joh..

Het is voor mij beter om te zien wat ik moet wijzigen ipv een aantal tips waar ik niet verder mee kan.

Antwoord op je vraag: Nou, als je de scripts kopieert en test, dan wanneer je iets besteld doet het opeens niets meer.. (ik heb dus ook een nieuwe laptop toegevoegd).

Kan iemand het SVP voor me testen en vertellen wat fout is, ik kan echt niet meer verder en zit met mijn handen in de haren..
 
- Ariën  -
Beheerder

- Ariën -

04/01/2011 00:23:20
Quote Anchor link
Quote:
Quote
@Aar, toch weet ik niet wat ik moet wijzigen.

Het wordt toch verteld in normaal Nederlands?

Maar goed je moet dus een foreach lus maken?
http://php.net/foreach


maar kan je gewoon neit specifiek zeggen waarop je vastloopt?
Bovendien is het hier phpHulp, en geen PHPafhaalbalie..

We helpen je immers toch, maar je zult wel zelf enige inzet moeten doen.

Ook lijkt het mij dat dit voor een school-opdracht is. Dus zelf inzet is zeker noodzakelijk, anders zou je jouw diploma niet mogen verdienen.
 
Klaas vieren

klaas vieren

05/01/2011 22:51:54
Quote Anchor link
- Aar - op 04/01/2011 00:23:20:
Quote:
Quote
@Aar, toch weet ik niet wat ik moet wijzigen.

Het wordt toch verteld in normaal Nederlands?

Maar goed je moet dus een foreach lus maken?
http://php.net/foreach


maar kan je gewoon neit specifiek zeggen waarop je vastloopt?
Bovendien is het hier phpHulp, en geen PHPafhaalbalie..

We helpen je immers toch, maar je zult wel zelf enige inzet moeten doen.

Ook lijkt het mij dat dit voor een school-opdracht is. Dus zelf inzet is zeker noodzakelijk, anders zou je jouw diploma niet mogen verdienen.


Dat begrijp ik wel ja, maar weet nog niet wat en hoe ik iets moet wijzigen. Wat betreft je reactie, ik zet zeker input. Doe elke dag uren aan en op een gegeven moment is de sloot te ver weg om over heen te springen en heb je iemand nodig met een boot om over te steken.

Nou het zit zo, eerst werkte het gewoon, maar nadat ik een extra laptop heb toegevoegd en de foreach functie, werkt het niet meer..
 
Ozzie PHP

Ozzie PHP

05/01/2011 22:56:59
Quote Anchor link
Klaas vieren op 05/01/2011 22:51:54:
Nou het zit zo, eerst werkte het gewoon, maar nadat ik een extra laptop heb toegevoegd en de foreach functie, werkt het niet meer..
Ga eerst eens die extra laptop en foreach functie weghalen. Werkt het nu weer? Ja? Dan stapje voor stapje code gaan toevoegen en goed kijken wat er mis gaat. Informatie over het gebruik van bepaalde functies kun je terugvinden op www.php.net
Mocht het alsnog niet lukken dan laat maar weer weten.
Gewijzigd op 05/01/2011 23:00:48 door Ozzie PHP
 



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.