Toon posts:

Session / Array -> Oplag van aantal?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb momenteel een probleempje waar ik even niet uitkom hoe ik dit ga oplossen 8)7

Ik heb een session waar ik een array in opsla met daarin de ID's van producten (die mijn gebruiker wilt bestellen) die ik later weer ga gebruiken in mijn winkelwagentjes systeem.

Okee Dit werkt 100% goed nu.

Probleem is alleen dat mijn gebruiker ook een aantal producten wil op kunnen geven als hij eenmaal bij de kassa is aangekomen zie:

(LET OP NIET GESCHIKT VOOR MINDERJARIGEN!!!)
http://www.x-toys.nl/kassa.php?product_toevoegen=9

Okee... als mijn gebruiker nu een artikel 3x wilt bestellen heeft hij een pulldown menutje waar hij dat aantal kan invullen -> de gebruiker druk op een knopje aantal wijzigen (momtneel nog niet aanwezig) en dan komt het probleem.... hij moet nu dat aantal bij dat product onthouden in mijn session of op een andere manier

Nu heb ik geen idee hoe ik dat ga opbouwen. Met andere woorden post a.u.b even jou ideeén hoe jij dit zou oplossen. ;)


Gr. Jor= _/-\o_

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 29-07 17:11

Eijkb

Zo.

$sessie_array[aantal] = $sessie_array[aantal] + $aantaluitpulldown???

Of denk ik nu echt te makkelijk...

[ Voor 4% gewijzigd door Eijkb op 23-05-2003 12:31 ]

.


  • jokke
  • Registratie: Oktober 2000
  • Laatst online: 25-12-2024
Nog een array in de sessie die de aantallen opslaat op dezelfde index?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zelfde array 2x...

arr1(1001,5045,2842)
arr2(1,5,3)

Artikel 1001 x 1
Artikel 5045 x 5
Artikel 2842 x 3

Ik zou overigens zelf helemaal niet gaan voor Arrays in een Session object, maar eerder voor een cookie of een "shoppinlist" in de DB. Zo kunnen je gasten ook na 3 dagen terugkomen en verder gaan met hun wagentje vullen.

Arrays in een session object is sowieso IMO not-done...

edit:

Damn you Jokke :P

[ Voor 9% gewijzigd door RobIII op 23-05-2003 12:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Thanks RobbIII, ik heb nog een vraagje aan jou...
JE kan de levensduur van een session toch verlengen dus dan heb je dat probleem niet meer.

En wat is er zo op tegen om sessions te gebruiken... dit wordt toch veel gedaan in winkelwagen systeempjes.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

En wat is er zo op tegen om sessions te gebruiken... dit wordt toch veel gedaan in winkelwagen systeempjes.
Het nadeel is dat de session verloren gaat wanneer de klant de site verlaat en/of langer dan 10 min (default) geen request meer heeft gedaan.

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
en met dit is het probleem toch opgelost, of snap ik het nou helemaal niet?

$extraTijd = 365 * 24 * 60 * 60; // seconden
session_set_cookie_params(time()+$extraTijd);

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En op een load-balanced server (mocht je daar ooit naar toe "groeien") heb je helemaal een probleem met sessions (of je moet .Net ofzo gebruiken).

Ik zou gaan voor de DB of cookies. In dat geval kan een user (desnoods) na een half jaar terug komen en doorgaan met het vullen van z'n winkelwagentje. Doe dat maar eens met sessions...

[ Voor 8% gewijzigd door RobIII op 23-05-2003 12:46 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Mmm... zit wat in... probleem is alleen dat een cookie niet altijd ondersteund wordt en ook verwijderd kan worden. En dat je bij een database een veld moet meegeven van welke gebruiken de bestelling afkomstig is en dan kom je toch al snel uit bij een session id. (toch ?) je kan ook een IP opslaan maar dan heb je weer het probleem dat een heel bedrijf het zelfde IP kan hebben... dat werkt dus ook niet... :|

Tja, wat is nou de beste oplossing :?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 23 May 2003 @ 12:51:
Mmm... zit wat in... probleem is alleen dat een cookie niet altijd ondersteund wordt en ook verwijderd kan worden. En dat je bij een database een veld moet meegeven van welke gebruiken de bestelling afkomstig is en dan kom je toch al snel uit bij een session id. (toch ?) je kan ook een IP opslaan maar dan heb je weer het probleem dat een heel bedrijf het zelfde IP kan hebben... dat werkt dus ook niet... :|

Tja, wat is nou de beste oplossing :?
Gebruikers aanmaken (laat ze reggen) en laten inloggen...???

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Dat kan, alleen vind ik dat teveel gedoe voor mijn gebruikers.
Om bij ons wat te kopen vind ik dat je je niet hoef aan te melden als mogelijke klant.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Nee, ik zou ook zeker geen NAW ofzo laten opgeven. Gewoon een gebruikersnaampje en een emailadres ofzo waar je hun pass naartoe kunt mailen (of laat ze zelf hun pass kiezen). Je kunt toch uitleggen waarom je die nodig hebt? Iets in de trend van "...om uw persoonlijke winkelwagentje te gebruiken dient u een gebruikersnaam te bezitten. Er worden verder geen persoonlijke gegevens opgeslagen..."

Anders zou ik gaan voor de DB (cookies ben ik ook niet al té kapot van ;) ) met daarin idd het sessionid opgeslagen. Dan kan die sessie idd nog steeds verlopen, maar kun je de "verlopen winkelwagentjes" 1x per dag ofzo gewoon uit de DB knikkeren (hou de starttijd bij van het sessieid in je DB. Issie ouder dan (zeg) 8 uur dan kan 'ie weg als 'ie niet ge"confirmed" is). Orders die ge"confirmed" zijn geef je aan met een bitje ofzo en laat je dus wel in je DB staan. Zo heb je meteen een orderhistory en kun je kijken wat je het meest hebt verkocht e.d. Leuk voor de statistieken of om een "aanbieding" uit te genereren.

[ Voor 5% gewijzigd door RobIII op 23-05-2003 12:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1