サイト移転のお知らせ ⇒ 基礎から解る!PHP入門講座当サイトはついに移転することになりました。新URLは
http://www.flzphp.com/ です。
今後ともPHP入門講座を宜しくお願いします。 PHP の基礎を学ぼうクッキー
受信と送信の仕組みで、画面上に表示させることはできました。しかし、それだけではデータは一度で消えてしまいます。
次にアクセスした時にも見ることができるように、これをコンピュータに覚えさせる仕組みが欲しいですね。 これをクライアント側(つまり見ている側)に覚えさせる仕組みがクッキーです。 ショッピングカートや、IDとパスワードを覚えるのによく使われている仕組みで、美味しそうな名前ですが、実態はデータの書きこまれたただのファイルです。 クッキーの書き込みと読み出し
次のスクリプトは、"data" という名前で $word (「おいらはプログラマー」という言葉)をクッキーファイルに保存します。time()+60*10 は60秒の10倍すなわち10分覚えていると言う意味です。
<?php
次はクッキーファイルからデータを取り出す命令です。data という名前で保存されたデータを取り出します。上記の続きであれば、「おいらはプログラマー」と記述されるはずです。
$word = "おいらはプログラマー"; setcookie("data", $word, time()+60*10); ?>
<?php
クッキーについて重要な点の一つは <html> よりも前に記述することです。php ファイルの1行目に <?php を書きその中でクッキーの記述をします。
$word = $_COOKIE["data"]; echo $word; ?>
書込み setcookie("名前", 内容, 記憶する時間);
読込み 変数 = $_COOKIE["名前"]; クッキー配列
クッキーは変数のように配列形式を使うことができます。クッキーの名前の部分が配列の形式になっていることに注意してください。この例ではあまり実用性を感じませんが、実際にはループと組み合わせて使用することでその実力を発揮します。
<?php
読み出しの場合は、[キー]を指定して個別に読み出すこともできますが、[キー]を意識しなくてもforeach を使えばすべての配列の要素を取り出すことができます。
$word_0 = "おいらはプログラマー"; $word_1 = "やくざなプログラマー"; $word_2 = "おいらが踊れば嵐を呼ぶぜ "; setcookie("data[0]", $word_0, time()+60*10); setcookie("data[1]", $word_1, time()+60*10); setcookie("data[2]", $word_2, time()+60*10); ?>
<?php
実行結果は次のようになります。
foreach ($_COOKIE['cookie'] as $name => $value) { echo "$name : $value <br>"; } ?>
0:おいらはプログラマー
1:やくざなプログラマー 2:おいらが踊れば嵐を呼ぶぜ
※当サイトにて使用されている写真・文章はすべて 許可なく使用することを禁止いたします。
|
|