Autor Zpráva
Medvídek
Profil
Chci si vyrobit zkusmo eshop a řeším teď nákupní košík.Chci se proto zeptat, těch, co s tím mají zkušenosti, co je lepší.

Často vidim "v košíku máte x položek za x kč". Já bych chtěl ale asi spíše vypsat v košíku všechn položky. Otázka: Co je lepší ?

Dále řešim jak vlastně bude košík fungovat.U registrovaných členů je to jasný.Tabulka kosik a při kliknutí na přidat do košíku se do db uloží ID nakupujícího a ID položky, kterou do košíku přidal.Košík pak budu zobrazovat podle ID.Jak ale postupovat když uživatele není registrován a přihlášen ? Zkoušel jsem SESSION a ukládal ve formátu $_SESSION["kosik"]=ID;ID;ID;ID;ID čili v řetězci ID položek oddělené čárkami.To asi nebude nejlepší způsob :( Tak mě napadlo ukládat do databáze session_id() což by bylo asi lepšejší, ale zase jak to řešit když ze stránek odejde ? Až přijde příště, tak bude mít již jiné SID a zbytečně v DB budu mít záznamy k ničemu.COOKIES se mi moc nechtějí, ale pokud by bylo nějaké rozumné řešení.

Můžete mi napsat nějaké názory, jak se toto řeší nejlépe ?
ronnie
Profil
$_SESSION["kosik"]= array(id,id,id); ?:-)
Medvídek
Profil
ronnie
To jsem myslele zprvu :D ale nevěděl jsem jak to zprovoznit :)

zkracene:

if empty session kosik
if isset get kosik
session kosik = get kosik
else
if isset get kosik
session kosik = session kosik . " ; " . get kosik

s polem nevim, jak by se to resilo :(

nicmene to neresi muj problem, jak vyresit neregistrovanym zakaznikum nakupovat a by se ukazal nakup i pri pristi navsteve (bez pouzitit cookies)
krteczek
Profil
Medvídek: tož tak to jetéměř neřešitelný problém, protože jak chceš zajistit že ten kdo právě přišel je ten kdo tu byl minule a má takovéto osobní informace? bez cookies to neuděláš...
Medvídek
Profil
Asi se tomu nevyhnu.Čili lidem, kteří nemají COOKIE zapnutý, mají zřejmě smůlu. Čili do DB vložím SID a k uživateli hodim SID do cookies. Pak tedy v DB budu muset mít i čas vložení do košíku a dejme tomu po 30 dnech, kdy se neuskuteční nákup se to z DB vymaže.To asi řešit jedině přes CRON. Nebo ?
HGD
Profil
jedna možnost by byla ještě podle IP adres, ale tam je zase problém s proxy :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: