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ä?
Vastaukset 4
- 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
Orpo pelästyi, kun asiat tulivat ilmi ? Hallitus ei enää tuekaan Garden hanketta
Pääministerinä Orpo on vastuussa hallituksensa päätöksenteosta. Hallitus päätti avokätisestä tuesta hankkeelle, joka ei3971602- 1411032
- 661026
- 861014
- 92940
- 94721
Miksi naiset tuoksuvat vaihdevuosien tietyssä vaiheessa todella etäännyttäviltä
Mietin tätä, onko luojalla ollut jokin tarkoitus näin voimakkaan lemun aikaan tekemiselle. Monet ajattelevat miten joku131698- 45691
Voisitko mies auttaa..
Ottaisit yhteyttä vielä kerran, jos haluat? 🤔 Jätäthän ilkeät kommentit pois.50649En ehkä onnistu siinä
Kovasti minä yritän näyttää kauniilta, vain sinua varten, mutta en taida onnistua siinä.57634