PHPでCookieへの情報の読み込みと書き込みのコードと実行結果を紹介します。
PHPではCookieへのデータの書き込みはsetcookie()関数を用います。また、データの読み込みは$_COOKIE変数を用います。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$val = $_POST['button1'];
if ($val != null) {
$data = $_POST['textBox1'];
$timeout = time() + 10 * 86400; //現在の時刻 + 10日 *(24時間 * 60分 * 60秒)
$path = '/';
$domain = '';
setcookie('MyData001', $data, $timeout, $path, $domain);
header("Location: " . $_SERVER['PHP_SELF']);
} else {
echo($_COOKIE['MyData001']);
}
?>
<form method="post" action="">
<input type="text" name="textBox1" />
<input type="submit" name="button1" value="Cookie書き込み" />
</form>
</body>
</html>
以下のコードでPOSTされたボタン情報を取得します。
$val = $_POST['button1'];
if ($val != null) {
Cookieに書き込むデータを準備します。データはPOSTされたtextBox1の内容とします。タイムアウトは10日間とします。
$data = $_POST['textBox1'];
$timeout = time() + 10 * 86400; //現在の時刻 + 10日 *(24時間 * 60分 * 60秒)
$path = '/';
$domain = '';
setcookie()関数を呼び出しCookieに情報を書き込みます。データの名前は'MyData001'とします。
setcookie('MyData001', $data, $timeout, $path, $domain);
ページをリロードします。setcookie()関数を呼び出しただけでは$_COOKIE変数には値が設定されないためページをリロードします。
header("Location: " . $_SERVER['PHP_SELF']);
echo($_COOKIE['MyData001']);