Ik heb een nogal vreemd probleem met sessies.
Ik ben met een redelijk eenvoudig systeem bezig om bestellingen te plaatsen. Om dit voor elkaar te krijgen heb ik een aantal objecten gecreerd, waarvan de belangrijksten zijn:
* Bestelling
* Bestelregel
Een bestelling heeft een private array met bestelregels. Deze plaats ik als winkelwagen in de sessie.
Als ik bij een pagina voor het eerst de "winkelwagen" opvraag krijg ik de volgende dump:
Als ik vervolgens nogmaals de winkelwagen ophaal en vardump krijg ik het volgende:
In de php doe ik letterlijk niets anders dan twee keer achter elkaar de inhoud van de winkelwagen uit de sessie halen:
Ik gebruik een autoloading functie om de class-files in te laden.
Heeft iemand enig idee waar dit probleem door wordt veroorzaakt? Ik kon zelf niets vinden en hoewel de work-around doodeenvoudig is, is het toch net niet wat je verwacht.
Gebruikte php-versie is 5.2.0
Ik ben met een redelijk eenvoudig systeem bezig om bestellingen te plaatsen. Om dit voor elkaar te krijgen heb ik een aantal objecten gecreerd, waarvan de belangrijksten zijn:
* Bestelling
* Bestelregel
Een bestelling heeft een private array met bestelregels. Deze plaats ik als winkelwagen in de sessie.
Als ik bij een pagina voor het eerst de "winkelwagen" opvraag krijg ik de volgende dump:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| object(Bestelling)#6 (6) { ["gebruiker_id"]=> string(1) "2" ["prijs"]=> float(0) ["status"]=> int(0) ["timestamp"]=> string(19) "2009-04-11 14:28:44" ["bestelregels:private"]=> NULL ["id"]=> int(0) } |
Als ik vervolgens nogmaals de winkelwagen ophaal en vardump krijg ik het volgende:
code:
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
| object(Bestelling)#9 (6) { ["gebruiker_id"]=> string(1) "2" ["prijs"]=> float(0) ["status"]=> int(0) ["timestamp"]=> string(19) "2009-04-11 14:25:11" ["bestelregels:private"]=> array(1) { [1]=> object(Bestelregel)#10 (10) { ["bestelling_id"]=> int(0) ["product_id"]=> string(1) "1" ["product_prijs"]=> string(5) "50.00" ["product_titel"]=> string(9) "Product 1" ["aantal"]=> int(4) ["prijs"]=> float(200) ["maat"]=> string(3) "XXL" ["id"]=> int(0) } } ["id"]=> int(0) } |
In de php doe ik letterlijk niets anders dan twee keer achter elkaar de inhoud van de winkelwagen uit de sessie halen:
PHP:
1
2
| var_dump( $_SESSION['winkelwagen'] ); var_dump( $_SESSION['winkelwagen'] ); |
Ik gebruik een autoloading functie om de class-files in te laden.
Heeft iemand enig idee waar dit probleem door wordt veroorzaakt? Ik kon zelf niets vinden en hoewel de work-around doodeenvoudig is, is het toch net niet wat je verwacht.
Gebruikte php-versie is 5.2.0
Read the code, write the code, be the code!