[PHP] inhoud winkelwagen bijhouden? Welke techniek

Pagina: 1
Acties:
  • 358 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

ik ben aan het denken aan een soort shoppingsysteem. Nu moet er gedurende de hele sessie het gekozen product worden bijgehouden en het aantal... Hoe kan ik dit het best doen. Ik dacht aan een sessie te maken voor het productnummer

vb. session_register("prod_".$nummer) , en hieraan het aantal toe te kennen. Of is er een betere manier aan te raden...?

thx

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

session_register is sowieso nogal achterhaald... Heb je je uberhaupt ingelezen in de beschikbare documentatie? Heb je al eens gekeken naar open-source oplossingen om het daar van af te kijken? Waarom zou je niet gewoon een array met productnummers bijhouden in de sessie?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jep ik ken de documentatie, maar ik had gewoon even andere meningen nodig, thats all

Acties:
  • 0 Henk 'm!

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01 00:49
Als je de beschikking over een database hebt: Maak een tabel voor product info (bestelde producten), gebruik de session ID om de order te identificeren, niet om de inhoud van de winkelwagen in op te slaan. Zo kun je op elke pagina de order altijd netjes bijhouden in de database. Maak 1 tabel voor de order en nog 1 voor de bestelde (aangeklikte producten). Eventueel nog eentje met klantgegevens.

Acties:
  • 0 Henk 'm!

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Ik gebruik zelf het volgende:


code:
1
$_SESSION['cart']['productID'] = $aantal;


Vond ik uiteindelijk de makkelijkste optie.

"True skill is when luck becomes a habit"
SWIS


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Gewoon in je dbase plempen met een user-id. Dan heb je in je sessie alleen maar een userid staan, dus je sessie blijft klein. Plus je kan bijhouden waar een klant interesse in heeft.

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Met Sessies kun je het ook voor een gast bijhouden. Of je koppelt het aan je sessie-id in je database.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Voorbeeld hoe je het in ieders geval voor langere termijn niet moet doen is Dell. Daar moet je een nummer en een unieke code bewaren als je het mandje lang wilt bewaren. Werkt imo totaal niet simpel.

Verder zijn sessies gewoonlijk het snelste en effectiefste. In de database lijkt me onnodig moeilijk doen.

Acties:
  • 0 Henk 'm!

  • Newpowerr
  • Registratie: Maart 2002
  • Laatst online: 01-08 07:56
Ik zeg maar 1 ding: www.oscommerce.com
Ga niet het wiel opnieuw uitvinden, zonde van je tijd en energie :)

Acties:
  • 0 Henk 'm!

Verwijderd

http://www.phpfreaks.com/phpmanual/page/language.oop.html

Ik heb nog niet echt een winkelwagen gemaakt, maar deze tutorial heeft me erg goed geholpen met wat andere php projecten

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
djluc schreef op 29 juni 2004 @ 23:15:
Voorbeeld hoe je het in ieders geval voor langere termijn niet moet doen is Dell. Daar moet je een nummer en een unieke code bewaren als je het mandje lang wilt bewaren. Werkt imo totaal niet simpel.

Verder zijn sessies gewoonlijk het snelste en effectiefste. In de database lijkt me onnodig moeilijk doen.
Ik snap even iets niet. Je wilt een mogelijkheid om dingen langer te bewaren, maar een database is onnodig moeilijk doen???

Gewoon alles lekker in een dbase gooien, dan kan je er later nog iets mee. Ik vind het altijd wel makkelijk om te weten welke produkten mensen wel in hun winkelwagentje gooien maar niet bestellen. Dan denk ik van he bij het bestellen gaan ze nadenken, dus misschien vinden ze het op dit moment te duur. Prijs omlaag.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Gomez12 schreef op 29 juni 2004 @ 23:46:[...]Ik snap even iets niet. Je wilt een mogelijkheid om dingen langer te bewaren, maar een database is onnodig moeilijk doen???
Gewoon alles lekker in een dbase gooien, dan kan je er later nog iets mee. Ik vind het altijd wel makkelijk om te weten welke produkten mensen wel in hun winkelwagentje gooien maar niet bestellen. Dan denk ik van he bij het bestellen gaan ze nadenken, dus misschien vinden ze het op dit moment te duur. Prijs omlaag.
IMO kun je beter een mailtje sturen naar de klant o.i.d. met daarin de specificaties en een link o.i.d. maar niet een lange ingewikkelde code en daarbij nogeens een wachtwoord.

Als je een site hebt waarop je in moet loggen ligt dit uiteraard anders.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Ach ja, ik ben gewoon een voorstander van webwinkels met inlog. Krijg ik altijd veel meer informatie uit. En een inlog is ook gewoon goed te regelen door bij de klant gewoon een cookie te zetten etc.

Als je gewoon maakt dat iedereen zelf een inlog kan maken heb je daar ook geen problemen mee.

P.S. Ik heb programmeertechnisch alleen te maken met zakelijke webwinkels. En dan ga je dingen krijgen als kortingen per klant , prijzen die verschillen per klant etc. Ik weet niet hoe dat standaard is bij een particuliere webwinkel

Acties:
  • 0 Henk 'm!

  • Newpowerr
  • Registratie: Maart 2002
  • Laatst online: 01-08 07:56
www.oscommerce.com

Geloof me, neem de moeite om je in die open source webshop software te verdiepen, kijk in de forums, kijk naar de contributions, alles wat jij wil, en nog veel meer, allemaal al bedacht, geprogrammeerd en beproefd..

Acties:
  • 0 Henk 'm!

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Mis je wel een bepaald leerproces ;)

Ik bedoel als je zelf niet dingen maakt kom eje er ook niet achter hoe je het goed doet, of wat knelpunten zijn etc.
Recent onderzoek in volwassenen onderwijs toont aan dat je 20% van wat je leest, 30% van wat je hoort onthoudt, echter een kleine 90% van wat je ziet, hoort, zegt en doet wordt onthouden.

bron - 3e van onder

[ Voor 86% gewijzigd door UltimateB op 30-06-2004 00:18 ]

"True skill is when luck becomes a habit"
SWIS


Acties:
  • 0 Henk 'm!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Newpowerr schreef op 29 juni 2004 @ 23:59:
www.oscommerce.com

Geloof me, neem de moeite om je in die open source webshop software te verdiepen, kijk in de forums, kijk naar de contributions, alles wat jij wil, en nog veel meer, allemaal al bedacht, geprogrammeerd en beproefd..
offtopic:
Ok, ik heb dit toevallig gisteren een sgeinstalleerd om te bekijken. Maar 1 ding kan ik niet vinden :P
Kan hij verschillende eigenschappen per product opslaan?

Dus als ik verf heb van merk a, dan wil ik in de winkel alleen tonen "Verf merk a" en dan kun je de kleur kiezen. Maar voor een kwast van merk x heb ik de eigenschap kleur niet nodig, wel heb ik hier de eigenschappen dikte en welke soort haren. enz
Is dat implementeerbaar??

Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 21:37

mulder

ik spuug op het trottoir

Newpowerr schreef op 29 juni 2004 @ 23:59:
www.oscommerce.com

Geloof me, neem de moeite om je in die open source webshop software te verdiepen, kijk in de forums, kijk naar de contributions, alles wat jij wil, en nog veel meer, allemaal al bedacht, geprogrammeerd en beproefd..
Misschien wil iemand wel iets leren van programmeren of meer controle hebben over de integratie...

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

Verwijderd

Ik laat gebruikers eerst aanmelden en aan de hand van hun userid worden orderregels weggeschreven in een tabel. Zodra je de order bevestigd worden de regels in een andere tabel overgezet. Eens in de paar dagen laat ik een script de eventueel nutteloze orderregels verwijderen uit de cart tabel (als je bv tijdens bestelling je browser afsluit)

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Newpowerr schreef op 29 juni 2004 @ 23:59:
www.oscommerce.com

Geloof me, neem de moeite om je in die open source webshop software te verdiepen, kijk in de forums, kijk naar de contributions, alles wat jij wil, en nog veel meer, allemaal al bedacht, geprogrammeerd en beproefd..
Voor de duidelijkheid: Programming & Webscripting gaat over zelf programmeren. Dat je een alternatief aanbiedt maakt me niet uit zolang je er zelf niet commercieel bij betrokken bent, maar je hoeft het niet te blijven schreeuwen/pushen :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Newpowerr
  • Registratie: Maart 2002
  • Laatst online: 01-08 07:56
Excuse me :)

Meerdere opties per artikel is inderdaad in te stellen bij osCommerce.
En nee, ik heb er geen commercieel belang bij, het is open source dusse... :)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Damn.. OSCommerce.. leuk als je echt geen idee hebt waar je mee bezig bent... maar wat een drama geprogrammeerd pakket is dat zeg...

Heb het sneller opnieuw gebouwd dan dat aangepast (alleen al het gebrek aan templates.. de html staat OVERAL door de code heen in honderden bestanden.. happy searching :P).

En tja opties per product.. als je bedoelt een enkel dropdownboxje dat je per product mag gaan instellen...

En de usercontributions zijn leuk.. maar de meerderheid is ook crap. Dus je mag honderden contributions door gaan spitten in de hoop dat er een wijzigingetje bij zit dat jij toevallig zoekt.

Verder is het ook nog eens hel erg toegespitst op de amerikaanse markt en in standaard vorm zo goed als onbruikbaar in meerlandig europa.

Leuk voor de hobbyist die tijd te veel heeft.. maar als bedrijf is het onbruikbaar product imho.

[ Voor 55% gewijzigd door Bosmonster op 02-07-2004 10:01 ]


Acties:
  • 0 Henk 'm!

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 19-09 22:48
Zo moeilijk is dat toch niet? Gewoon een sessie aanmaken. Alles in een multidimensionale array gooien. Niet in een db, want als iemand de bestelling niet afrond blijft die troep in je DB achter. Dat is misschien niet erg met 1 of 2 bestellingen per dag, maar niet als je een paar duizend bezoekers per dag hebt. Dus gewoon alles in een array. Als de order afgerond wordt kijk je of ze ingelogd zijn. Zo niet laat je ze inloggen of eventueel een account maken. Dan rond je de order af door alle regels naar een order_lines tabel weg te schrijven. Dan destroy je de array, zodat ze eventueel opnieuw kunnen beginnen met bestellen.

That's it!

Die oscommerce is best leuk natuurlijk, maar het probleem met dit soort open-source projecten is dat het 9 van de 10 keer veel te veel doet wat je niet gebruikt en dat je er geen ruk van leert.

Ben je wel leergierig kijk dan eens hier:
http://www.devshed.com/c/...ilding-a-Product-Catalog/

Daarna hier:
http://www.devshed.com/c/...ging-Users-with-Sessions/

En tot slot hier:
http://www.devshed.com/c/...alogs-and-Shopping-Carts/

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Hebben al die mensen die zo hard OSCommerce roepen, het wel eens geprobeerd?

Ik heb het een tijdje gebruikt en vind het echt onnoemelijk slecht.

Installatie is een ramp, geen enkele mogelijkheid het er zo uit te laten zien zoals je wilt (zie: Bosmonster), installatie van nieuwe plugins/add-ons is totaal niet gebruikersvriendelijk.

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Newpowerr
  • Registratie: Maart 2002
  • Laatst online: 01-08 07:56
Ik gebruik het wel degelijk. Ik vraag me af of de mensen hier die OsCommerce zo afzeiken het wel eens goed bekeken hebben?

Als het je als tweaker niet eens lukt om het snel en fatsoenlijk te installeren, en het lukt mij als php/mysql leek wel, en ik heb er een prachtige site mee gemaakt, wat is er dan op tegen?

En ja, ik heb een goede vriend die helemaal los is op php en mysql gebied, die mij met raad en daad bijstaat, en alles, alles wat ik aangepast wil hebben, voor me veranderd en aanpast.

Onbekend maakt onbemind zullen we maar denken.

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Ehm, ik ben nou niet echt een newbie wat betreft PHP en MySQL, maar als ik instellingen in mijn php.ini moet gaan doen (OSCommerce werkte dus alleen als de register_globals aan staan en ik kreeg ook nog fijne sessie foutmeldingen) om het te installeren, dan ben je als maker toch echt zeer kansloos bezig.

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Newpowerr
  • Registratie: Maart 2002
  • Laatst online: 01-08 07:56
Cavorka schreef op 03 juli 2004 @ 10:44:
Ehm, ik ben nou niet echt een newbie wat betreft PHP en MySQL, maar als ik instellingen in mijn php.ini moet gaan doen (OSCommerce werkte dus alleen als de register_globals aan staan en ik kreeg ook nog fijne sessie foutmeldingen) om het te installeren, dan ben je als maker toch echt zeer kansloos bezig.
qoute uit: http://www.zend.com/zend/art/art-sweat4.php

Prior to PHP 4.2.0, the default value for the PHP configuration parameter register_globals was On. Many PHP programmers took advantage of the ease of use this configuration provided.

This article is intended for PHP programmers who have, in the past, relied on the register_globals On, and now wish to change their coding style to reflect the new default for this parameter. It will also be of interest to programmers using an ISP hosted PHP environment where they do not control the values of the PHP configuration file.

One recent change in PHP may increase the learning curve some. With the release of PHP 4.2.0, the default value for register_globals is now Off. This takes away one of the features that made PHP so easy to learn.

ZO raar is dat niet dus als je bedenkt dat die value in php.ini altijd default aan heeft gestaan, en pas met recentere versies default op off is gezet.

Verder in het artikel staat ook uitgelegd waarom, vanwege beveiliging, want als programmeur wil je weten waar je variables vandaan komen.

Zo kansloos lijkt het me dus niet.

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Dat zal, maar waarom kan ik dan bij de installatie niet zelf kiezen wat ik wil?

Als je host dus upgrade naar een recente versie van PHP, werkt je webwinkel niet meer. Lekker is dat.

Ik zou zeggen aan de TS: maak het lekker zelf. Veel leuker, veel inspirerender en dan begrijp je ook veel beter hoe je eigen winkel werkt. Het wiel opnieuw uitvinden pwnt. ;)

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Datamodel maken voor een webwinkel ownt niet hoor :( Ben er toch al bijna een week mee bezig :'(

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Ik zei niet sneller of makkelijker, ik zei leuker. :P + ;)

En een week bezig met alleen het datamodel? Toch niet 24/7 mag ik hopen?

Ik zou zeggen begin simpel maar efficient zodat het eenvoudig is uit te breiden:
- producten tabel
- hierarchie tabel (groepen, met parents and nodes)

Daarna aparte tabellen voor eigenschappen van de producten en de groepen etc. Er zijn vast ook wel datamodellen (of modellen die applicable zijn) te vinden...

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Nou, ik heb het probleem met meertaligheid en mogelijke extra "opties" voor producten e.d. Ik dacht namelijk om bij de artikel tabel een veld language_id te maken en dan op te selecteren, SELECT * FROM Articles WHERE language_id = 31 etc. Vervolgens een tabel artikel_opties. Geen idee, of dat wat is. Ben niet zo'n ster in het maken van datamodellen :)

Natuurlijk er zijn vast wel datamodellen voor, maar ik wil zelf ook "snappen" hoe ze de gegevens opslaan. Gezien je de bij sommige branches alle klantgegevens van de afgelopen 30jaar (ofzo) moet bewaren...

[ Voor 25% gewijzigd door alienfruit op 03-07-2004 14:21 ]


Acties:
  • 0 Henk 'm!

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 19-09 22:48
Newpowerr schreef op 03 juli 2004 @ 10:25:

En ja, ik heb een goede vriend die helemaal los is op php en mysql gebied, die mij met raad en daad bijstaat, en alles, alles wat ik aangepast wil hebben, voor me veranderd en aanpast.

Onbekend maakt onbemind zullen we maar denken.
En dat is nou juist het probleem. Het is niet de bedoeling dat die vriend alles aanpast, maar dat je het zelf doet. Het is namelijk de bedoeling dat je er ook nog iets van leert.
Pagina: 1