Olen tehnyt ostoskorin javaScriptillä. Minulla on siinä eri tuoteryhmiä, joissa jokaisella on oma sivunsa, nämä tuoteryhmäsivut olen tehnyt php:llä ja mySql:llä käyttäen tietokantaa.Tässä ostoskorissani tiedot haetaan tietokannasta. Ongelma on siinä, että kun lisään eri sivuilta tuotteita ostoskoriin, niin saan vain yhden sivun tuotteet näkymään ostoskorissa eli ostoskori toimii vain yhdelle sivulle. Kun lisään jonkun toisen sivun tuotteen ostoskoriin, niin ostoskori alkaa laskemaan uudestaan ja poistaa automaattisesti edellisen sivun tuotteet siitä. Saan vain toimimaan ostoskorin siten, että laitan kaikki tuotteet samalle sivulle, jota en halua tehdä. Joten osaisiko kukaan auttaa tässä?
Ostoskori ongelma
4
517
Vastaukset
- Piru
Sessioon tai sinne mysql-kantaan.
Sessio pitää aloittaa .php-skriptissä ennen kuin mitään tulostetaan käyttäjälle.
Jee!
Sitten seuraavalla sivulla otat tallessa olevan session ja sieltä löytyy edelliset tuotteet.- --------
*Sessioon tai sinne mysql-kantaan.*
Mielummin sessioon tai kekseihin, ellei halua ominaisuutta, että voi jatkaa myöhemmin ostoksien tekoa kun kirjaantuu tunnuksilla. Sessiot ja keksit on tarkoitettu väliaikasille tiedoille.
*session_register("ostoskori").....*
Nykyään suositellaan käytettäväs $_SESSION['ostoskori']
Ja sinun toteutuksessa tulee ongelmia useamman saman tavaran lisäämisen kanssa sekä poistamisessa ja muokkaamisessa.
Esim lisäät ostoskoriin 3 * vaihdelaatikko, mutta tulet toisiin aatoksiin ja haluatkin vain kaksi, tällöin joudut laskemaan jo olevat vaihdelaatikot ja sitten poistamaan yhden vaihdelaatikon.
Sen sijaan järkevämpi tehdä kolmiulotteinen taulukko, vai olikos noi kaksulottaisia (samapa tuo).
$_SESSION['ostoskori']['vaihdelaatikko'} = 3(tuotteen määrä);
Tällöin voit suoraan lisätä tai poistaa halutun määrän tuotteita.
Ja jos kerralla halutaan lisätä vaikkapa kolme samaa tuotetta niin se onnistuu helposti.
$_SESSION['ostoskori']['vaihdelaatikko'] = 3;
Eikä
$_SESSION['ostoskori']['vaihdelaatikko'] = 3;
Joka tuhoaisi jo olemassa olevan määrän.
Tuotteen nimen tilalla kannattaa käyttää tuotteen ID numeroa, tällöin sekaantumisen vaaraa ei ole, jos tuotteita paljon myynnissä. Tuotteen nimen voi myös tallentaa sessioon tai noutaa kannasta kun sitä tilausvahvistuksessa/muokkaamisessa tarvitaan.
*$HTTP_SESSION_VARS*
Register globall nykyään oletuksena off joten toi ei toimine oletusasetuksilla. Siksi haetaan tiedot $_SESSION['xxx'] - Auttaisiko joku?
-------- kirjoitti:
*Sessioon tai sinne mysql-kantaan.*
Mielummin sessioon tai kekseihin, ellei halua ominaisuutta, että voi jatkaa myöhemmin ostoksien tekoa kun kirjaantuu tunnuksilla. Sessiot ja keksit on tarkoitettu väliaikasille tiedoille.
*session_register("ostoskori").....*
Nykyään suositellaan käytettäväs $_SESSION['ostoskori']
Ja sinun toteutuksessa tulee ongelmia useamman saman tavaran lisäämisen kanssa sekä poistamisessa ja muokkaamisessa.
Esim lisäät ostoskoriin 3 * vaihdelaatikko, mutta tulet toisiin aatoksiin ja haluatkin vain kaksi, tällöin joudut laskemaan jo olevat vaihdelaatikot ja sitten poistamaan yhden vaihdelaatikon.
Sen sijaan järkevämpi tehdä kolmiulotteinen taulukko, vai olikos noi kaksulottaisia (samapa tuo).
$_SESSION['ostoskori']['vaihdelaatikko'} = 3(tuotteen määrä);
Tällöin voit suoraan lisätä tai poistaa halutun määrän tuotteita.
Ja jos kerralla halutaan lisätä vaikkapa kolme samaa tuotetta niin se onnistuu helposti.
$_SESSION['ostoskori']['vaihdelaatikko'] = 3;
Eikä
$_SESSION['ostoskori']['vaihdelaatikko'] = 3;
Joka tuhoaisi jo olemassa olevan määrän.
Tuotteen nimen tilalla kannattaa käyttää tuotteen ID numeroa, tällöin sekaantumisen vaaraa ei ole, jos tuotteita paljon myynnissä. Tuotteen nimen voi myös tallentaa sessioon tai noutaa kannasta kun sitä tilausvahvistuksessa/muokkaamisessa tarvitaan.
*$HTTP_SESSION_VARS*
Register globall nykyään oletuksena off joten toi ei toimine oletusasetuksilla. Siksi haetaan tiedot $_SESSION['xxx']Sessionin käyttäminen ei onnistunut antaa tällaisen
virheilmoituksen:
Warning: Cannot modify header information - headers already sent by (output started at d:\apache\htdocs\tietokanta\tilaus1.php:8)
Joten mitäkähän tämän kanssa voisi sitten tehdä? - fgjfjjh
Auttaisiko joku? kirjoitti:
Sessionin käyttäminen ei onnistunut antaa tällaisen
virheilmoituksen:
Warning: Cannot modify header information - headers already sent by (output started at d:\apache\htdocs\tietokanta\tilaus1.php:8)
Joten mitäkähän tämän kanssa voisi sitten tehdä?session_start ennen HTML-tegeja, kuten pirun esimerkissä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Ja taas ammuttu kokkolassa
Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.806552- 1486087
Helena Koivu on äiti
Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.5013916Ovatko naiset lopettaneet sen vähäisenkin vaivannäön Tinderissa?
Meinaan vaan profiileja selatessa nykyään valtaosalla ei ole minkäänlaista kirjoitettua tekstiä siellä. Juuri ja juuri s1232371- 421539
Suomi vietiin Natoon väärin perustein. Viides artikla on hölynpölyä. Yksin jäämme.
Kuka vielä uskoo, että viides artikla takaa Suomelle avun, jos Suomeen hyökätään. Liikuttavasti täällä on uskottu ja ved4201458- 741265
Sydämeni on sinun luona
Koko ajan. Oli ympärilläni ketä oli niin sinä olet vain ajatuksissa ja tunteissa. En halua muiden kosketusta kuin sinun471094Jatkuva stressitila
On sinun vuoksesi kun en tiedä missä mennään mutta tunteeni tiedän ainoastaan611076Trump ja Venäjä
Huomasitteko muuten... Käytännössä ainoat valtiot, joille Trump EI eilen asettanut typeriä tariffejaan, olivat Venäjä ja1431033