戻る

カートに入れる仕組みを作る(クッキー版)

この例はショッピングカート機能におけるクッキーの利用例を示したものです。表の「カートに入れる」のリンクをクリックすると、その行の商品IDがGETで自分自身のPHPファイルに送られます。それを受け取り、現在のクッキーのデータを取り出し、今回選択された商品IDをカンマ区切りで追加して、クッキーに再保存します。

<?php
header("Content-type: text/html; charset=utf-8");
?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
if(isset($_GET["id"])){
	
	if($_GET["id"] == 0){
		setcookie("mycart","",time()- 1);
	}
	else{
		$id = "";
		
		if(isset($_COOKIE["mycart"]) && strlen($_COOKIE["mycart"]) > 0){
			
			$data = $_COOKIE["mycart"];
			parse_str($data);
			$id = $ck_id;
			
		}
		
		$id .= (strlen($id) == 0 ? "" : ",") . $_GET["id"];
	
		setcookie("mycart", "ck_id={$id}");
	
		echo "今回カートに入れた商品IDは" . $_GET["id"] . "<br><br>";
	}
	
	echo "【現在のカートの状況】<br>";
	
	$idarray = explode(",",$id);
	foreach($idarray as $data){
		echo $data . "<br>";
	}
	
	echo "<br><br>";
}
?>
<table border="1">
	<tr>
		<th>商品ID</th><th>商品名</th><th><br></th>
	</tr>
	<tr>
		<td>1</td><td>冷蔵庫 AB-12345</td><td><a href="<?=$_SERVER["PHP_SELF"]."?id=1"?>">カートに入れる</a></td>
	</tr>
	<tr>
		<td>2</td><td>エアコン AC-99999</td><td><a href="<?=$_SERVER["PHP_SELF"]."?id=2"?>">カートに入れる</a></td>
	</tr>
	<tr>
		<td>3</td><td>テレビ TV-A3456K-L23</td><td><a href="<?=$_SERVER["PHP_SELF"]."?id=3"?>">カートに入れる</a></td>
	</tr>
	<tr>
		<td>4</td><td>パソコン PC-999999 Win100G</td><td><a href="<?=$_SERVER["PHP_SELF"]."?id=4"?>">カートに入れる</a></td>
	</tr>
	<tr>
		<td>5</td><td>洗濯機 SK-TK2424 380L</td><td><a href="<?=$_SERVER["PHP_SELF"]."?id=5"?>">カートに入れる</a></td>
	</tr>
	<tr>
		<td colspan="3" align="center"><a href="<?=$_SERVER["PHP_SELF"]."?id=0"?>">カートをクリア</a></td>
	</tr>
</table>
</body>
</html>

inserted by FC2 system