Reenailin tässä php:tä ja tein semmosta härpäkettä sessioilla.
Härpäke vois melkein käydä ostoskorista muttei ehkä kummiskaan.
Kun ensimmäisen kerran lisää tuotteen ni miksi urlin mukana menee tommonen PHPSESSID ja myöhemmillä kerroilla ei?
Onko tämä jokin serverin testauskeino et mitäkautta kulkee sessio id(keksejä vai urlin mukana)? Ja mitenkä tosta pääsis eroon?
Ja ku kummiski palatte halusta nähdä sen koodin ni...
<?php session_start(); ?> <html><head></head> <body> <a href="<?php echo $PHP_SELF."?Toiminto=Lisaa&ID=0001";?>">Maito</a><br> <a href="<?php echo $PHP_SELF."?Toiminto=Lisaa&ID=0002";?>">Koff</a><br> <a href="<?php echo $PHP_SELF."?Toiminto=Lisaa&ID=0003";?>">Makkara</a> <br> <table border="1"><tr> <th>Tuote Id</th> <th>Tuote</th> <th>Maara</th> <th>Poista</th> </tr> <?php $toiminto=$_GET['Toiminto']; $tuoteID=$_GET['ID']; $tuotteet=array("0001"=>"Maito","0002"=>"Koff","0003"=>"Makkara"); #Käsitellään valittu toiminto switch($toiminto) { #Jos 'Lisaa' niin kasvatetaan kyseistä laskuria eli tuotteen määrää korissa case 'Lisaa': $_SESSION[$tuoteID]++; break; /*Jos 'Poista' niin poistetaan valittua tuotetta yksi ja jos tuotteita ei ole enää niin tuhotaan taulu*/ case 'Poista': if($_SESSION[$tuoteID]>0) $_SESSION[$tuoteID]--; if($_SESSION[$tuoteID]==0) unset($_SESSION[$tuoteID]); break; case 'Tyhjenna': session_unset(); break; } #Käydään kaikki sessiotaulut läpi ja tulostetaan foreach($_SESSION as $ID => $maara) { $poista="<a href=\"{$PHP_SELF}?Toiminto=Poista&ID={$ID}\">Poista</a>"; echo "<tr><td>{$ID}</td>"; echo "<td>{$tuotteet[$ID]}</td>"; echo "<td>{$maara}</td>"; echo "<td>{$poista}</td></tr>"; } ?> </table> <a href="<?php echo $PHP_SELF."?Toiminto=Tyhjenna";?>">Tyhjennä</a> </body></html>
Joop, tuo keksi toimii sessio-id:nä.
Sessioiden tiedot (muuttujat) tallennetaan tiedostoon, jotka tunnistetaan tuon keksin avulla.
Eli lyhyesti: et taida päästä niistä eroon jos käytät sessioneja.
Jäynis kirjoitti:
Kun ensimmäisen kerran lisää tuotteen ni miksi urlin mukana menee tommonen PHPSESSID ja myöhemmillä kerroilla ei? Onko tämä jokin serverin testauskeino et mitäkautta kulkee sessio id(keksejä vai urlin mukana)? Ja mitenkä tosta pääsis eroon?
Ei sen kyllä noin pitäisi toimia, ainakaan php:n oletusasetuksilla?
edit: Ja pitihän se sitten kokeillakin, eikä se id ilmestynyt urliin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.