Light STUDY vol.3 ~クッキー~
Light Web社員の3号(サンゴウ)です。
「Light STUDY」は私3号が主にPHP等を勉強した内容を月1でご紹介するコーナーです!
今回はクッキーについて、クッキーの発行・受け取り方法についてご紹介します。
クッキーとは
クッキー(Cookie)とは、 サーバが発行したデータを、ブラウザ側の所定の位置に保存する仕組みのことです。
☆ブラウザ【要求】→webサーバ【実行】→【クッキーを発行または参照】→【応答】
ブラウザは受け取ったクッキーデータを保存しておきます。 ブラウザは次回要求時に、受け取ったクッキーをサーバに提示します。サーバ側では、以前アクセスしてきたブラウザかどうかを特定します。
クッキーの発行
PHPでクッキーを発行するには「setcookie()関数」を使います。正常に発行されたらtrueを、失敗したらfalseを返します。
第三引数に有効期限を設定すると、ブラウザを終了しても期限が切れるまで値が保存されます。設定しないときは、ブラウザを終了すると無効になります。
例:
<?php setcookie( 'val', 100, time()+60 ); ?>
クッキーの削除
必要のないクッキーは有効期限を過去の時間にして削除します。
例:
<?php setcookie( 'val', "", time()-60 ); ?>
クッキーの受け取り
ブラウザからサーバに送られたcookie情報は、スーパーグローバル変数「$_COOKIE」で受け取ります。
$getval = $_COOKIE[ 'val' ];
クッキー情報が送られなかったときは、$getvalの値はNULLになります。
クッキーの発行・受け取りの例
●cookie.php(ページ1)
<?php setcookie( 'val', 100 ); ?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>クッキーの発行・受け取り ページ1</title>
</head>
<body>
<?php
$getval = isset( $_COOKIE['val'] ) ? $_COOKIE['val'] : "(なし)"
print "ページ1の値は $getval です。\n";
?>
<p><a href="cookie2.php">ページ2へ</a></p>
</body>
</html>
「isset()関数」は、$_GETや$_POSTで得られるフォームデータの受け取りの際、値があるかどうかを判定する関数です。
●cookie2.php(ページ2)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>クッキーの発行・受け取り ページ2</title>
</head>
<body>
<?php
$getval = isset( $_COOKIE['val'] ) ? $_COOKIE['val'] : "(なし)"
print "ページ2の値は $getval です。\n";
?>
<p><a href="cookie.php">ページ1へ</a></p>
</body>
</html>
ページ1の値は (なし) です。
ページ2へ
↓
ページ2の値は 100 です。
ページ1へ
↓
ページ1の値は 100 です。
ページ2へ
ページ1に訪れることでクッキーが発行されますので、ページ2に移動すると値があるとみなされ「100」と表示されます。
クッキーが発行された状態ですので、ページ1に戻っても値は「100」と表示されたままになっています。
クッキーを利用したサイトを作る際はぜひ参考にしてください😊
参考:
翔泳社
売り上げランキング: 120,695
♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪
Light Webからのお知らせ
ライトウェブはプライバシーマークを取得しました!
今までも個人情報を取り扱う案件に携わって参りましたが、
より安心してお任せいただけるようになりました。
今後ともライトウェブをよろしくお願い致します!
♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪
次回もお楽しみに!😉