Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ostoskori

deepak [21.03.2006 16:17:44]

#

Terve!

Voisiko joku selventää hiukan tuota koodi systeemiä. Yritän tehdä ostoskoria.

Eli tuotesivulla on seuraavanlainen koodi:

<?php
session_start();

$_SESSION["tuote"] =  telkkari;
$_SESSION["hinta"] =  1000;
?>
<html>
<head>
meta tiedot


</head>
<body>
tuote seloste

<!--Shopping Cart Product Begin-->

<form action="ostoskori.php" method="get"/>


    <input type="hidden" name="QUANTITY" value="1"/>
    <input type="hidden" name="PRICE" value="hinta€"/>
    <input type="hidden" name="NAME" value="tuotteen nimi"/>
    <input type="hidden" name="ID_NUM" value="tuotteen id"/>
    <input type="hidden" name="SHIPPING" value="postimaksu €"/>


    <input type="submit" value="Tilaa tuote"  onclick="AddToCart(this.form)"/><a href="ostoskori.php">OSTOSKORI</a>

    <!--Shopping Cart Product End  -->

</body>
</html>



Sitten ostoskori sivu:

<?php
session_start(); ?>
<html>
<body>



<?php
echo "Tuote:" . $_SESSION["tuote"] . "<br>";
echo "Hinta:" . $_SESSION["hinta"] . "<br>";
?>

<?php
echo "Ostoskorissasi on ". $_COOKIE['ostoskori'];
?>





<!--Shopping Cart ManageCart Begin-->
The items listed below are currently in your shopping cart:
Hinta: <?php echo $_GET["PRICE"]; ?>.<br />
Postimaksut :<?php echo $_GET["SHIPPING"]; ?><br/>
Tuotteen koodi: <?php echo $_GET["ID_NUM"];?> <br/>
TUOTEEN NIMI: <?php echo $_GET["NAME"];?> <br/>
MÄÄRÄ<?php echo $_GET["QUANTITY"];?> <br/>


<INPUT type=SUBMIT value=" Check Out ">

<!--Shopping Cart ManageCart End -->


</body>
</html>

ongelma:

tuotteen saa lisättyä tuohon ostoskori sivulle, mutta kun sieltä poistuu, niin tiedot katoavat. ja samoin jos lisää uudeen tuotteen ne se kirjoittaa päälle.

osaisiko joku neuvoa? ps. asia pitää vääntää rautalangasta, muuten ei mene jakeluun.

Kiitos jälleen kerran

Mod. edit: kooditagit

panttu [21.03.2006 20:04:07]

#

Tuossa ostoskorissa ei voi olla kuin yksi tuote, koska tuotteen tallennetaan samaan muuttujaan.

$_SESSION["tuote"] =  "telkkari";
$_SESSION["hinta"] =  1000;

Eli tuo kohta pitäisi olla esim. tälläinen, kun tuotteita lisätään koriin

$_SESSION["ostoskori"][] = array("tuote"=>"telkkari","hinta"=>1000);
$_SESSION["ostoskori"][] = array("tuote"=>"CD-R","hinta"=>0.50);
jne...

tuotteet saa listattua jotenkin seuraavasti sitten

$lkm = count($_SESSION["ostoskori"]);
for($i=0;$i<$lkm;$i++)
{
   print $_SESSION["ostoskori"][$i];
}

ja poistettua tuotteita ostoskorista saa

$=3; //esim.
unset($_SESSION["ostoskori"][$i];

ja mitä ostoskorin säilyvyyteen tulee se riippuu käyttäjän tunnistuksen asetuksista eli kuinka kauan palvelimesi säilyttää session tietoja ja kuinka kauan selaimesi säilyttää piparia. Usein etenkin julkisten koneiden selaimet hävittää piparit aina, kun selain suljetaan tai jopa lyhyellä aikavälilläkin, että muut eivät voi hyödyntää vanhoja pipareita.

deepak [23.03.2006 13:08:52]

#

Kiitos oikein paljon. Nyt sain lisättyä ns.tuotteen ostoskori sivulle, mutta kun vaihdan tuohon ''array'' kohdalle tuotteen nimen, se ei toimi. Mutta jos siinä lukee array, niin se lisää sen sanan ostoskori sivulle.

ps. olen ihan käsi näissä hommissa.

Ja muuten pystyykö noita session juttuja pistämään myös ajan kanssa, niinkuin noi cookie jutut?

Ja sitten vielä, kun tuossa tuote sivulla on noi lähetettävät kohdat eli noi missä ''Get'', kun tuosta klikkaa kerran, niin se näkyy siellä ostoskori sivulla, mutta kun sieltä menee pois ne häipyvät. Ja vaikka minulla olisi se se session start siellä sivun yläpuolella niin toimi myöskään.

Et saako noita ''Get'' tai post juttuja ollenkaan säilymään?

Kiitos taas kaikille.

Vastaus

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

Tietoa sivustosta