Autor Zpráva
UrbiCZ
Profil
Čau. Při přidání produktu do košíku se vloží záznam o produktu(cena, název, atd...) do tabulky košík v databázi. Jak udělat, aby tabulka nebyla sdílená mezi všemi uživateli? Když někdo přidá produkt, tak v tabulce zůstane a ten se zobrazí i jinému uživateli. Díky za odpovědi....
jenikkozak
Profil
UrbiCZ:
Košík neměj spojený s tabulkou o produktu. Měj tabulku košík, kam uložíš cenu, id produktu a id uživatele (případně další sloupečky). Pak vyber jen ty produkty, kde bude id uživatele shodné s přihlášeným návštěvníkem.
UrbiCZ
Profil
Díky za radu. Tohle je nákup bez registrace a přihlášení, takže bude asi trošku problém s identifikací. Měl bych tedy použít Session? Jak toho uživatele tedy identifikuji?
jenikkozak
Profil
UrbiCZ:
Měl bych tedy použít Session?
Hodí se. Něco na ten způsob budeš potřebovat, takže se hodí využít připravené řešení, jakým sessiony jsou. Identifikuješ ho pak právě tou sessionou.
UrbiCZ
Profil
oka, ale jak ho přesně identifikuji? Když například vytvořím $_SESSION["uzivatel"] = 234 a poté hodnotu vložím k jednotlivým produktům do DB, tak každý uživatel bude mít stále hodnotu 234, ne?
preca1
Profil
UrbiCZ:
Zkoušel si to? Snažil si se o session něco najít? Možná by to bylo rychlejší a poučnější, než čekat na odpověď na fóru.
Něco o session.
UrbiCZ
Profil
Teorii a praxi ohledně použití SESSION znám, ale nejde mi do hlavy, jak vytvořit pro každého návštěvníka unikátní SESSION bez přihlášení......
martin1312
Profil
vygeneruješ unikátny reťazec (čísla, písmená - je to na tebe) a ten vložiš do SESSION
UrbiCZ
Profil
A jakou funkci na to používáte? Ano, lze najít na toto téma několik článků, ale já se ptám Vás tady, kde o tom můžeme pokecat. :)
jenikkozak
Profil
UrbiCZ:
Udělal bych to tak, že v databázi bych využil klíč sessiony. Ten získáš pomocí funkce session_id. A nebo můžeš využít hodnoty auto_increment v databázi a tuto hodnotu ukládat do sessiony. Je zbytečné na to vymýšlet další unikátní řetězec.

Ale pokud existenci údaje v databázi podmiňuješ existencí session, je zbytečné databázi využívat a můžeš dočasný košík uchovávat přímo v sessioně. Vyhneš se tak tomu, že se ti po expiraci sessiony budou hromadit nepoužitelné řádky v databázi.
UrbiCZ
Profil
Tak díky, session_id moc pomohlo.

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: