PHPでcookieを扱う際の方法をメモ。
cookieの保存と取得
cookieの処理は、ブラウザに何らかの出力を行う前にコールする必要があります。
そのため、<!DOCTYPE html>より前にcookieを扱う処理を記述します。
保存ページ
「setcookie(保存名, 保存する値)」の形で保存できます。
<?php setcookie('name1', '青葉'); ?>
取得ページ
「$_COOKIE[保存名]」の形で取得できます。
isset()を使ってcookieが保存されているかを確認してから取得するようにします。
<?php if(isset($_COOKIE['name1'])) { $name1 = $_COOKIE['name1']; } else { $name1 = 'ありません。'; } ?>
取得ページ(body内)
<p>name1の値: <?php echo $name1; ?></p>
cookieの有効期限の指定
cookieの有効期限はsetcookie()の第三引数に設定できます。
保存ページ
有効期限を30秒間にしてみます。
<?php setcookie('name2', 'ねね', time() + 30); ?>
取得ページ
<?php if(isset($_COOKIE['name2'])) { $name2 = $_COOKIE['name2']; } else { $name2 = 'ありません。'; } ?>
取得ページ(body内)
<p>name2の値: <?php echo $name2; ?></p>
cookieの削除
cookieの削除する場合、setcookie()の有効期限を過去にすると削除できます。
保存ページ
<?php setcookie('name3', 'ほたる'); ?>
取得ページ
<?php if(isset($_COOKIE['name3'])) { $name3 = $_COOKIE['name3']; } else { $name3 = 'ありません。'; } ?>
取得ページ(body内)
<p>name3の値: <?php echo $name3; ?></p>
削除ページ
<?php setcookie('name3','',time() - 1); ?>
【参考サイト】
コメントが承認されるまで時間がかかります。