Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: yhden sessionin tyhjennys

Sivun loppuun

abina [19.02.2004 20:03:32]

#

Tiedän tiedän alan olla jo ongelma. mutta nyt alkaa tämä minun sotku sessioneiden kanssa olla loppu suoralla niin eiköhän iskenyt vielä lopuksi ässän hihasta.

Eli ajatellaan mulla on kolme sessionia ostoskori0, ostoskori1, ostoskori2 noh kun haluan poistaa tuosta yhden niin käytän unset() -komentoa. noh hienosti toimii jos tyhjennän ostoskori2 -sessionin niin se häviää hieno homma. mutta jos tilanne on sama ja tyhjennän ostoskori0 niin se hävittää myös ostoskori1 ja ostoskori2. samahomma jos tyhjennän ostoskori1:den niin ostoskori2 häviää mutta ostoskori0 jää.

if($teko == 'poista'){

	unset($_SESSION['ostoskori'.$tuote]);
}

kokeilin itse ja selailin php.nettiä mutta ei tullut vastaan. ideoita?

T.M. [19.02.2004 20:05:47]

#

koita laittaa toi:

unset($_SESSION["ostoskori{$tuote}");

Nolla katoaa jos se ei ole stringissä

abina [19.02.2004 20:16:28]

#

varmaan tarkoitit näin:

unset($_SESSION["ostoskori{$tuote}"]);

mutta ei auttanut. edelleen poistaa esim. ostoskori2 sessionia poistettaessa kaikki kakkosesta ylöspäin. lisää ehdotuksia?

leftover [19.02.2004 20:21:41]

#

Siis käsitinkö oikein, sinulla on sivun alussa seuraava koodi:

<?php
session_start("ostoskori0");
session_start("ostoskori1");
session_start("ostoskori2");

...
?>

???

Tällöinhän koodi tekee ostoskori0 sisäisen sessionin ostoskori1, johon tehdään sisäinen session ostoskori2. Jos tuhoat sessionin, tuhoutuu myös sisäiset sessiot.

abina [19.02.2004 20:36:15]

#

sivun alussa on session_start();

mutta toisella sivulla on muuttujaan ostoskori0, ostoskori1, ostoskori2 jne. laitettu tiedot tuotteista jotka käyttäjä on lisännyt ostoskoriinsa. sitten ostoskori sivulla on nappi josta sen pitäisi poistaa vain se kyseinen tuote ostoskorista. poisto nappi on index.php?id=ostoskori&teko=poista&tuote=1 esim. jos painaa toiseksi uusinta lisäystä. ja sitten samaisella sivulla on tuo koodi jolla pitäisi saada se poistettua. vain ainoastaan se sessioni. eli nyt jos ajatellaan että on painanut tuota nappia niin sen pitäisi poistaa ostoskori1 niminen session. mutta poistaa myös kaikki jonka viimeinen numero on suurempi kuin 1. ymmärsitkö yhtään enemmän?

abina [19.02.2004 21:36:14]

#

kokeilin myös näin:

unset($_SESSION["ostoskori2"]);

niin jos minulla on ostoskori3 -> jne. niin ne häviää.. ostoskori0 ja 1 jää. en tajua. tajuatteko te?

Quiz [19.02.2004 22:15:39]

#

leftoverhan jo selitti kaiken! Siis kuvittele vaikka niin, että ostoskorit ovat hakemistoja kovalevylllä:

hakemistopuu:
top
|_ostoskori1
  |_ostoskori2
    |_ostoskori3
jne...

eikä:
top
|_ostoskori1
|_ostoskori2
|_ostoskori3
jne...

Auttaako yhtään tajuamista?

abina [20.02.2004 00:31:20]

#

Aivan nyt tajusin! kiitos! ja anteeksi luin nopeasti joten en huomannut mitä leftover selitti.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta