PHP スーパーグローバル変数-$_COOKIE
今回は、スーパーグローバル変数の$_COOKIEの解説です。
この記事の著者 ->S.E; です。
普段は、システム開発に必要なヒアリング、システムの要件定義、設計からプログラマとしてWebサイトやWebアプリケーションの開発、WordPressでのブログの執筆やサーバー運用・管理を行っています。
このページは「未経験の為のプログラミング講座 ゼロから始めるPHPプログラミング〜初級から実践編までを網羅〜」としてPHPの基本的な部分を【初級編】【中級編】【上級編】に分けて解説しています。最終的には簡単なフォームやシステム開発をフルスクラッチで行うことを目的としています。また、参考になる書籍なども紹介しています。
$_COOKIE(クッキー)とは?
通常サーバーはアクセス元のPCやスマートフォン上のファイルにアクセスすることはできませんが、クッキーはサーバー側から読み書き可能となります。
※ブラウザの設定で「クッキー」を無効化している場合は、この限りではありません。
$_COOKIE(クッキー)の基本
ではクッキーの利用方法を確認してみます。
<form>からname=”cookie_test” をPOST形式で送信します。送信されたデータをPHPが受け取り「setcookie」関数で受け取ります。
setcookie関数
第1引数にクッキー名、第2引数に送信されたデータ、第3引数に保存期間を設定します。
「設定する期間の 60 * 60 * 24 * 10 」は「60 秒×60 分×24 時間×10 日」で10日間の有効期限を設定しています。第3引数を省略すると、ブラウザを閉じた時点でクッキーが破棄されます。また、保存したクッキーを破棄したい場合は「time() – 3600」と過去を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php if( $_SERVER['REQUEST_METHOD'] == 'POST' ){ setcookie('cookie_test', $_POST['cookie_test'], time() + (60 * 60 * 24 * 10)); // 保存したクッキーを表示する header('Location:./'); } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>クッキーの基本</title> </head> <body> <p>保存されたクッキー:<?php echo $_COOKIE['cookie_test'];?></p> <form action="./" method="post"> <input type="text" name="cookie_test" value=""> <input type="submit" value="送信"> </form> </body> </html> |
$_COOKIE(クッキー)の動作確認
入力フォームに任意のテキストを入力し「送信」します。
setcookie(‘cookie_test’, $_POST[‘cookie_test’], time() + (60 * 60 * 24 * 10));で保存された情報を「$_COOKIE[‘cookie_test’]」で表示します。
$_COOKIE(クッキー)の利用方法
$_COOKIE(クッキー)はログイン情報の保存や、フォームへ入力した情報の保存など利用方法は様々です。
S.E->お勧め記事;
- CrowdWorks いつの間にか「プロクラウドワーカー」になっていた
- XSERVERにSSHを利用してLaravel環境を構築する
- Panic Nova 購入から1年が過ぎライセンスの更新時期の注意点
- PHPフレームワーク「Laravel」ディレクティブ-繰り返し処理(ループ処理)-
- macOS Monterey にアップデート後、composerやhomebrewでenv: php: No such file or directoryが出る
- プログラマー になる為に必要な プログラミング以外 の知識・スキル
- CrowdWorks 提案後、受注に繋がりました。提案〜契約までの流れを解説
- PHP フレームワーク Laravel ディレクティブ – ループ変数 $loop –
- Shopify APIを利用して在庫管理を行う