Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHPSESSID=... ja sessiot

Jäynis [08.06.2006 17:25:16]

#

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>

Megant [08.06.2006 17:33:56]

#

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.

folio [08.06.2006 18:25:40]

#

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.

Vastaus

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

Tietoa sivustosta