PHP クッキー
Cookieはユーザーを識別するためによく使用されます。
クッキーとは何ですか?
Cookieはユーザーを識別するためによく使用されます。 Cookie は、サーバーがユーザーのコンピュータ上に残す小さなファイルです。同じコンピュータがブラウザを通じてページをリクエストするたびに、Cookie がコンピュータに送信されます。 PHP を使用すると、Cookie 値を作成および取得できます。
クッキーを作成するにはどうすればよいですか?
setcookie()関数はCookieを設定するために使用されます。
注: setcookie() 関数は <html> タグの前に配置する必要があります。
構文
setcookie(name, value, expire, path, domain);
例1
次の例では、「user」という名前のCookieを作成し、値「php」を割り当てます。また、この Cookie が 1 時間後に期限切れになるように指定します:
<?php setcookie("user", "php", time()+3600); ?> <html> .....
注: Cookie の値は、Cookie の送信時に自動的に URL エンコードされ、取得時に自動的にデコードされます。 (URL エンコードを防ぐには、代わりに setrawcookie() を使用します。)
例 2
別の方法で Cookie の有効期限を設定することもできます。これは秒を使用するよりも簡単な場合があります。
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?> <html> .....上記の例では、有効期限は 1 か月 (60 秒 * 60 分 * 24 時間 * 30 日 ) に設定されています。
Cookieの値を取得するにはどうすればよいですか?
PHP の $_COOKIE 変数は、Cookie の値を取得するために使用されます。
次の例では、「user」という名前の Cookie の値を取得し、ページに表示します。
<?php // 输出 cookie 值 echo $_COOKIE["user"]; // 查看所有 cookie print_r($_COOKIE); ?>次の例では、isset() 関数を使用して、Cookie が設定されているかどうかを確認します。
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_COOKIE["user"])) echo "欢迎 " . $_COOKIE["user"] . "!<br>"; else echo "普通访客!<br>"; ?> </body> </html>
Cookieを削除するにはどうすればよいですか? Cookie を削除するときは、有効期限を過去の時点に変更する必要があります。 削除されたインスタンス:
<?php // 设置 cookie 过期时间为过去 1 小时 setcookie("user", "", time()-3600); ?>
私のブラウザが Cookie をサポートしていない場合はどうすればよいですか? アプリケーションが Cookie をサポートしていないブラウザに対応する必要がある場合は、アプリケーション内のページ間で情報を渡すために他の方法を使用する必要があります。 1 つの方法は、フォームを介してデータを渡すことです (フォームとユーザー入力については、このチュートリアルの前の章で説明しています)。 以下のフォームは、ユーザーが「送信」ボタンをクリックすると、ユーザー入力を「welcome.php」に送信します。
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>は、次のように「welcome.php」ファイル内の値を取得します。
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> 欢迎 <?php echo $_POST["name"]; ?>.<br> 你 <?php echo $_POST["age"]; ?> 岁了。 </body> </html>