PHP クッキーのサンプル

PHPのクッキーのサンプルです。
XAMPPの環境で実行しています。

目次

クッキーの流れ

1.クライアントがWebサーバーにアクセスします。
2.Webサーバーがクッキーを発行してクライアントに送ります。
3.再度クライアントがWebサーバーにアクセスする時、Webサーバーはクライアントのクッキーを取得します。

コード

1,2行目のsetcookie関数でクッキーをセットします。(ここでは例としてクッキーを2つセットしています。)
12行目の$_COOKIEは、スーパーグローバル変数です。isset関数で、クッキーの名前を指定して値があるか確認しています。
14行目は、初回表示時に表示されます。初回表示時はクッキーの値はまだセットされていません。クライアントが再度アクセスした時にクライアントのクッキーを取得します。
17,18行目は、クッキーの名前を指定して値を表示します。再読込すると表示されます。
21行目は、別ページに画面遷移するリンクです。画面が切り替わってもクッキーは保持されます。

<?php setcookie("cnt1",1); ?>
<?php setcookie("cnt2",11); ?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>cookieのサンプル</title>
</head>
<body >
1ページ目です。<br />
<?php
if(!isset($_COOKIE["cnt1"])){
	// 初回表示時
	print "初回表示です<br />";

}else{
	print "{$_COOKIE["cnt1"]}<br />";
	print "{$_COOKIE["cnt2"]}<br />";
}
?>
<a href="./index4.php">次のページ</a>
</body>
</html>

以下は、上記コードの21行目をクリックした時に表示されるページです。(index4.php)
10,11行目は、遷移元画面で設定したクッキーの値が表示されます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>cookieのサンプル</title>
</head>
<body >
2ページ目です。<br />
<?php
	print "{$_COOKIE["cnt1"]}<br />";
	print "{$_COOKIE["cnt2"]}<br />";
?>
<a href="./index3.php">戻る</a>
</body>
</html>

画面イメージ

上記コードを実行したときの画面です。
初回表示時です。

 

ブラウザを再読込したときの画面です。クッキーの値が表示されています。

 

別ページに遷移したときの画面です。クッキーの値は遷移元画面と同じです。

クライアントのクッキー

Google Chromeのデベロッパーツールでのクッキーの確認方法です。
「F12」キーを押してデベロッパーツールを開き、「Application」>「Cookies」>「http://localhost」をクリックします。
Name欄に「cnt1」と「cnt2」が、Value欄には「1」と「11」がセットされています。

クッキーの削除

クッキーを削除するコードです。
setcookie("名前","")にします。

	setcookie("cnt1","");

クッキーの有効期限の設定

クッキーの有効期限を設定するコードです。
setcookie(名前,値,有効期限)にします。
以下は上から有効期限を1分、1時間、1日、1週間としています。

	setcookie("cnt1",1,time() + 60);
	setcookie("cnt1",1,time() + 60 * 60);
	setcookie("cnt1",1,time() + 24 * 60 * 60);
	setcookie("cnt1",1,time() + 7 * 24 * 60 * 60);

リンク

関連の記事

ローカルにPHPが動く環境を作る手順(XAMPP)
PHP セッションのサンプル
「HTTPリクエスト」と「HTTPレスポンス」

△上に戻る