[PHP/MySQL] Sessievariabele wordt ongewild vervangen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met de volgende website http://www.deviswereld.nl/dvw

Hier kunnen via 'winkel', producten worden toegevoegd aan de winkelwagen. Wanneer een product wordt toegevoegd, komt deze in de sessie te staan en wordt het toegevoegde product getoond in de winkelwagen. Wanneer dan nogmaals een product wordt toegevoegd aan de winkelwagen, wordt het product wat al in de winkelwagen staat, opeens vervangen door het nieuwe product. Het is echter de bedoeling dat het nieuwe product extra aan de sessievariabele wordt toegevoegd. Ik snap niet wat hij verkeerd doet.

De volgende code (in index.php) gebruik ik om de sessie te vullen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
   session_start();
   
   if(isset($_GET['productid']) and isset($_GET['verhoog']))
   { 
     $winkelwagen = array();
     $winkelwagen[0] = $_GET['add'];
     $winkelwagen[$_GET['add']] = $winkelwagen[$_GET['add']]++;
     $_SESSION['winkelwagen'] = $winkelwagen;
     $_SESSION['winkelwagen'][$_GET['productid']]++;
   } 

   print_r($_SESSION['winkelwagen']);

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je overschrijft op regel 8 eerst je sessievariabele compleet. Lijkt me niet zo handig. ;)

[ Voor 5% gewijzigd door NMe op 20-10-2006 10:37 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
-NMe- schreef op vrijdag 20 oktober 2006 @ 10:36:
Je overschrijft op regel 8 eerst je sessievariabele compleet. Lijkt me niet zo handig. ;)
Ik denk dat hij een extra regel aan het array wil toevoegen, maar als je dan een key definiëert wordt het inderdaad niets. ;)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-NMe- schreef op vrijdag 20 oktober 2006 @ 10:36:
Je overschrijft op regel 8 eerst je sessievariabele compleet. Lijkt me niet zo handig. ;)
Dit helpt inderdaad _/-\o_ , zodra ik deze regel verwijder, worden de producten nu wel allemaal toegevoegd.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nu bestaat nog wel steeds het volgende probleem. Het product wordt toegevoegd aan de sessie mbv variabelen die meegegeven worden in de URL. Wanneer de pagina vernieuwd wordt, wordt het aantal van dat product opgehoogd in de sessie. Ook wanneer iemand zich aanmeldt voor de nieuwsbrief wordt de pagina opnieuw geladen en het product opgehoogd. Ik wil ervoor zorgen dat de sessie niet wordt aangepast zodra de pagina ververst wordt. Ik weet alleen niet of dat op de huidige manier mogelijk is.

Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Dan zul je moeten afvangen of de pagina vanaf het bestelformulier of de bestellink bereikt wordt.
Het verversen is ook tegen te gaan maar dat is wat meer werk. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je zou de ++ berekening vóór het versturen van je formulier/linkje kunnen doen. Dus als er al 2 in je cart zitten en je wil er 3 bij doen, dan verstuur je het getal 5, en niet 3. Op die manier kun je verversen wat je wil, de data blijft kloppen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1