PHP クッキー
- 前のページ PHP ファイルアップロード
- 次のページ PHP セッション
cookie はユーザーを識別するためによく使用されます。
cookie とは何ですか?
cookie はユーザーを識別するためによく使用されます。cookie はサーバーがユーザーのコンピュータに残す小さなファイルです。同じコンピュータがブラウザを使用してページをリクエストするたびに、cookie が同時に送信されます。PHP を使用して、cookie を作成および値を取得することができます。
cookie をどうやって作成しますか?
setcookie() 関数は cookie を設定するために使用されます。
注記:setcookie() 関数は <html> タグの前に配置する必要があります。
文法
setcookie(name, value, expire, path, domain);
例
以下の例では、"user" という名前の cookie を作成し、それに値 "Alex Porter" を設定しました。また、この cookie は 1 時間後に有効期限が切れます:
<?php setcookie("user", "Alex Porter", time()+3600); ?> <html> <body> </body> </html>
注記:cookie を送信する際には、cookie の値は自動的に URL エンコードされ、取得時に自動的にデコードされます(URL エンコードを防ぐために、setrawcookie() を使用してください)。
Cookie の値をどうやって取得しますか?
PHP の $_COOKIE 変数は cookie の値を取得するために使用されます。
以下の例では、"user" という名前の cookie の値を取得し、それをページに表示しました:
<?php // cookie を表示する echo $_COOKIE["user"]; // 全ての cookie を表示する方法 print_r($_COOKIE); ?>
以下の例では、isset() 関数を使用して cookie が設定されているか確認します:
<html> <body> <?php if (isset($_COOKIE["user"])) echo "ようこそ " . $_COOKIE["user"] . "!<br />"; else echo "ようこそゲスト!<br />"; ?> </body> </html>
cookie を削除する方法は?
cookie を削除する際には、有効期限を過去の時間点に設定する必要があります。
削除の例:
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
ブラウザが cookie をサポートしない場合にどうすればいいですか?
アプリケーションが cookie をサポートしないブラウザを含む場合、アプリケーション内で一つのページから別のページに情報を伝えるための他の方法を取る必要があります。一つの方法は、フォームからデータを渡すことです(フォームとユーザー入力の内容については、この講座の前半で紹介しました)。
以下のフォームは、ユーザーが提交ボタンをクリックしたときに "welcome.php" にユーザー入力を送信します:
<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
"welcome.php" 中的値を取回す方法はこちらです:
<html> <body> ようこそ <?php echo $_POST["name"]; ?>.<br /> あなたは <?php echo $_POST["age"]; ?> 歳です。 </body> </html>
- 前のページ PHP ファイルアップロード
- 次のページ PHP セッション