セッションを使用して、カートに追加されたアイテムの数をカウントしたいと考えています。以下に、タイトルと説明とともにデータベースから product_id を取得する送信ボタンがあります。
$query = 'SELECT * FROM products ORDER BY date_added DESC';
// Run the query:
if($r = mysql_query($query,$dbc)) {
while ($row = mysql_fetch_array($r)) {
// Print out the returned results:
print "<p><h3>{$row['title']}</h3> {$row['description']}<br />
<form action='add_to_cart.php' method='get'>
<input type='hidden' name='add2cart' value='{$row['product_id']}' />
<input type='submit' value='Add to Cart' />
</form>
</p><hr />\n";
}
}
カートに追加ボタンが送信されたときにフォームを処理するために、以下をセッションに変換するにはどうすればよいですか。私が作成したこのスクリプトは、ページが呼び出されるか更新されるたびに Cookie をカウントするだけなので、正確ではありません。一意の製品 ID を送信し、セッションを使用してカートにアイテムを追加して、カートに追加ボタンがクリックされたときにのみカート内のアイテムが上がるようにします。
<?php
if(!isset($_COOKIE['countItems'])){
$Items = 0;
setcookie('countItems', $Items);
}
else{
$Items = ++$_COOKIE['countItems'];
setcookie("countItems", $Items);
}
define('TITLE' , 'Items in cart');
include('templates/header.html');
?>
<div id="main">
<?php
require_once('config.php');
$dbc = mysql_connect(DB_HOST , DB_USER , DB_PASSWORD);
mysql_select_db(DB_DATABASE, $dbc);
if(isset($_COOKIE['countItems'])){
print "<p>You have $Items items in your shopping cart </p>";
print "<p><a href='store.php'>Continue Shopping</a></p>";
}
else{
print "You have not added any items into your cart.";
}
?>
表示されているものを出力するために必要なだけです。アイテム化されている必要はありません。カートにあるアイテムの数とIDの数を数えるだけです。