クッキー(Cookie)について
クッキーについて勉強しよう
いいですね!クッキーを使えると、ホームページの作成でいろいろできますよ♪
名前がいいよね 可愛くて、おいしそう
いちじくちゃん。おやつはさっき食べたでしょう。 確かにクッキーの語源は、お菓子のクッキーからきている説もありますが。
それでは、クッキー(Cookie)とはWEBページが利用者がページに来た記録などを判断するために、利用者のPCに保存する情報ファイルです。
例えば、PHPで「setcookie」関数が実行されると、そのページにアクセスしている人のPCにクッキーが送信され、保存されます。
これに比べて、利用者のPCではなくサーバ側に保存する方法を「セッション」といいます。 用途は同じようなことに使われますね
ふむ。
Edgeだとブラウザの右上の横三点リーダ「・・・」から「設定」、左側にある「Cookie とサイトのアクセス許可」、「Cookie とサイト データの管理と削除」、「すべてのCookie とサイト データを表示する」と進んでいくと現在PCに保存されているクッキーを見ることができますよ。
URLに「edge://settings/siteData」と入力しても、この画面は見ることができます。
同様にchromeブラウザでも「chrome://settings/content/all」と入力して、Enterを押せば、クッキーの見れるページに行くことができます。
では、クッキーを作ってみましょう。一般的なPHPでのクッキーを使う時の書き方は以下のようになります。
<?php setcookie("お試しクッキー♪", "いちじく", time() + 3600); ?>
「お試しクッキー♪」がクッキーの名前で、「いちじく」がクッキーに設定する値(コンテンツ)、「time() + 3600」がクッキーの有効期限で、自分で自由に設定することができます。
有効期限は秒単位の指定でここでは3600秒。。。60分を表していますね。
クッキーの有効期限は省略可能ですが、省略したり、「0」を設定した場合は、ブラウザを閉じるとクッキはー削除されます。
では、これを実行して、、、 はい!クッキーができあがりました。
コンテンツに「いちじく」って入るんじゃないの?私こんな名前じゃないよ
%E3%81%84%E3%81%A1%E3%81%98%E3%81%8F
わっ!? よく発音できますね 壊れた機械音声みたい
どうやら「コンテンツ」に日本語を使用すると、エンコードされて文字化けのように見えてしまうんですね。もう一度、クッキーの値を「itijiku」にして実行してみましょう。
<?php setcookie("お試しクッキー♪", "itijiku", time() + 3600); ?>
一つ注意なのが、この「setcookie」関数は、そのページで一番最初に処理されなくてはいけなくて、<html> や <head> タグだけでなく、空白も入ってはいけないルールなんです。
環境にもよるのでしょうが、私は一行の改行が入っただけで、クッキーが作られませんでした。
もっと詳しく調べたい時は、下のPHPの公式マニュアルを見てみるのもおススメです。
https://www.php.net/manual/ja/function.setcookie.php
お名前