Ik ben een shop aan het bouwen en kom problemen tegen en weet niet hoe ik die op moet lossen. Om een paar stappen over te slaan... ik bevind me in
detail.php?idfoto=288
Deze wil ik toevoegen aan de winkelmand en vervolgens verder shoppen. dit lukt niet. Om de een of andere reden krijg ik steeds een nieuwe sessie en wordt de cookie niet geplaatst. Ik heb hieronder de belangrijkste code neergezet ter verduidelijking.
Ik gebruik PHP 4.2.0.
Ik hoop dat iemand me kan helpen.
Voor de detail heb ik de result.php en daarvoor de index.php. In al deze bestanden heb ik de volgende includes:
Hieronder de setCookie.php
In de detail.php staat dus een foto met veschillende extra info. Om deze toe te voegen aan het winkelmandje gebruik ik de volgende link:
<a href="shop_cart.php?action=add_item&idfoto=<?php echo $idfoto; ?>&aantal=1">Voeg toe aan winkelwagen</a>
In de shop_cart.php doe ik dezelfde includes als eerder beschreven staat.
Verder staat daar de volgende code in (alleen het belangrijke):
detail.php?idfoto=288
Deze wil ik toevoegen aan de winkelmand en vervolgens verder shoppen. dit lukt niet. Om de een of andere reden krijg ik steeds een nieuwe sessie en wordt de cookie niet geplaatst. Ik heb hieronder de belangrijkste code neergezet ter verduidelijking.
Ik gebruik PHP 4.2.0.
Ik hoop dat iemand me kan helpen.
Voor de detail heb ik de result.php en daarvoor de index.php. In al deze bestanden heb ik de volgende includes:
PHP:
1
2
3
4
5
| $LibPath = "lib/"; include($LibPath.'setCookie.php'); include_once($LibPath.'libDatabase.php'); //gegevens over de connectie $Connection = ConnectDB(); $CrLf = Chr(13).Chr(10); |
Hieronder de setCookie.php
PHP:
1
2
3
4
5
6
7
8
9
10
| function GetCartId() { if(isset($_COOKIE["cartId"])) { return $_COOKIE["cartId"]; } else { session_start(); setcookie("cartId", session_id(), time() + 14400); return session_id(); } } |
In de detail.php staat dus een foto met veschillende extra info. Om deze toe te voegen aan het winkelmandje gebruik ik de volgende link:
<a href="shop_cart.php?action=add_item&idfoto=<?php echo $idfoto; ?>&aantal=1">Voeg toe aan winkelwagen</a>
In de shop_cart.php doe ik dezelfde includes als eerder beschreven staat.
Verder staat daar de volgende code in (alleen het belangrijke):
PHP:
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
| switch($_GET["action"]) { case "add_item": { AddItem($_GET["idfoto"], $_GET["aantal"]); ShowCart(); break; } default: { ShowCart(); } } function AddItem($idfoto, $aantal){ global $Connection; $Query = " SELECT count(*) FROM card WHERE cookie_id = '" . GetCartId() . "' AND id = $idfoto "; echo $Query; $Result = OpenQuery ($Query, $Connection); $Record = FetchRow($Result); $numRows = $Record[0]; if($numRows == 0) { // This item doesn't exist in the users cart, // we will add it with an insert query $Query = " INSERT INTO card ( cookie_id, foto, aantal ) VALUES ( '" . GetCartId() . "', '$idfoto', '$aantal' )"; echo $Query; $Result= ExecuteQuery($Query, $Connection); } else { // This item already exists in the users cart, // we will update it instead UpdateItem($id, $aantal); } } function ShowCart() { global $Connection; $totalCost = 0; $Query = " SELECT * FROM card WHERE cookie_id = '" . GetCartId() . "' ORDER BY foto asc "; echo $Query; $Result= OpenQuery($Query, $Connection); while($Record = FetchRow($Result)) { $foto = $Record["foto"]; // Increment the total cost of all items $totalCost += ($Record["aantal"] * $Record["prijs"]); //hier allerlei een html tabel om de lijst weer te geven. } <a href="index.php"><< Keep Shopping</a> } |