php

クッキーとは

今回ははお菓子のクッキーのことではありません。
前回、セッション管理について書きましたが、それに付随して、
ウェブで利用される仕組みで、クッキー(cookie)と
呼ばれる仕組みがあります。

クッキーは、ウェブサーバーからウェブクライアントに対して送られる
名前と数値をの組合せです。ウェブクライアントはこのクッキーを
記憶しています。ウェブサーバーは、ウェブクライアントが再び
アクセスしたときに、ウェブクライアントが記憶している
クッキーを取得することができます。

PHPでは、このクッキーを直接設定することができます。
クッキーを設定するには、setcookie()関数を使用し、
名前と値を組み合わせて設定します。

setcookie("名前","値")

上記のコードは、セッション管理と同じように、コードの先頭で
行わなければいけません。HTML文書前にです。

クッキーの値は、$_COOKIEに格納されます。
クッキーの名前を指定することで、設定した値を取得できます。

$_COOKIE["名前"]

サンプルコードの実行結果はこちら

上記のサンプルコードでは、クッキーに値を設定しています。
複数ページで訪問回数を共有できることが確認できます。
セッション管理、クッキー設定はPC内に保存されています。
実際にウェブサイトを作成する場合は、重要な情報は
扱わない方がいいです。

クッキーを操作する

PHPでは、クッキーを削除することができます。
setcookie関数に名前だけを指定して、値は空にします。

setcookie("名前","")

クッキーには有効期限を設定することができます。

setcookie("名前",値,有効期限)

クッキーの名前countに1時間の有効期限を与える時、
以下のように書きます。time()関数は現在時刻を秒単位で得るための関数です。
3600秒(60*60)なら1時間を表します。

setcookie("count",1,time()+3600)

有効期限を設定しない特は、ユーザーがブラウザを閉じるまでが
有効期限とされます。

・クッキーには名前と値の組合せを設定できる。
・クッキーに有効期限を設定できる。

データを共有

クッキーやセッションのほか、データを複数ページで共有する方法で、
formの隠し属性を使うこともあります。<input>タグの
type属性の値を「hidden」として、「value」属性に共有したい
値を設定すると、送信時にこの値が渡されます。

-php
-,