PHP クッキー
cookie
が何であるかを説明するために、小さな例を挙げてみましょう。数十年前、人々が会議をするとき、全員が会議パスを持参する必要がありました。この参加カードには役職、名前、所属、写真などが記載されています。会議中、会議のセキュリティ担当者と主催者は、関連情報を確認するだけで済みます
。
この小さな例は、人々が自分の参加カードと自分の情報を持参するという点を主に示しています。この模様がクッキーです。
Cookieはユーザーを識別するためによく使用されます。 Cookie は、サーバーがユーザーのコンピュータ上に残す小さなファイルです。同じコンピュータがブラウザを通じてページをリクエストするたびに、Cookie がコンピュータに送信されます。 PHP を使用すると、Cookie 値を作成および取得できます。
クッキーを作成するには?
setcookie()
関数はCookieを設定するために使用されます。注: setcookie() 関数は <html> タグの前に配置する必要があります。
構文
setcookie
(名前,値,有効期限,パス,ドメイン) 名前は必須です。クッキーの名前を指定します。 値はオプションです。 Cookieの値を指定します。
期限切れ オプション。 Cookieの有効期間を指定します。 パスはオプションです。 Cookie のサーバー パスを指定します。 ドメインはオプションです。 Cookieのドメイン名を指定します。この関数では、通常次のように使用します: setcookie(Cookie 名、Cookie 値、Cookie 有効期間)、3 つで十分です
例
以下この例では、「user」という名前の Cookie を作成し、それに値「Alex Porter」を割り当てます。また、この Cookie は 1 時間後に期限切れになることも規定しています:
<?php setcookie("user","Alex Porter",time()+3600); ?>
注: Cookie を送信すると、Cookie の値は自動的に URL エンコードされ、取得時に自動的にデコードされます (URL エンコードを防ぐには、setrawcookie を使用してください) () その代わり)。
別の方法で Cookie の有効期限を設定することもできます。これは秒を使用するよりも簡単な場合があります。
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?>
上記の例では、有効期限は 1 か月 (60 秒 * 60 分 * 24 時間 * 30 日) に設定されています。 Cookieの値を取得するにはどうすればよいですか? PHP の $_COOKIE 変数は、Cookie の値を取得するために使用されます。 次の例では、「user」という名前の Cookie の値を取得し、ページに表示します。 上記で php という名前の Cookie を作成したため、プログラムの実行結果は次のようになります。 表示: php インスタンス 次の例では、isset() 関数を使用して、Cookie が設定されているかどうかを確認します。 プログラムの実行結果: ようこそphp へ ! Cookie を削除するには? Cookieを削除するときは、有効期限を過去の日付に変更するだけです たとえば 「user」という名前のCookieの場合、値「XX user」を割り当てます。この Cookie は 1 時間後に期限切れになるように指定されています: 上記の Cookie を削除したい場合は、次のように時間を設定してください ブラウザが Cookie をサポートしていない場合はどうすればよいですか? アプリケーションが Cookie をサポートしていないブラウザに対応する必要がある場合は、アプリケーション内のページ間で情報を渡すために他の方法を使用する必要があります。 1 つの方法は、フォームを介してデータを渡すことです (フォームと ユーザー入力については、このチュートリアルの前の章ですでに説明しました)。 例 以下のフォームは、ユーザーが「送信」ボタンをクリックすると、ユーザー入力を「cookie_welcome.php」に送信します。 次のように、「cookie_welcome.php」ファイル内の値を取得します。 : プログラム実行結果: ようこそliuqi<?php
// 输出 cookie 值
echo $_COOKIE["user"] ."<br/>";
// 查看所有 cookie
print_r($_COOKIE);
?>
配列
(
[pgv_pvi] => 9622684672
[ユーザー] => php
) <html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php
header("Content-type:text/html;charset=utf-8");
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
?>
</body>
</html>
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
setcookie("user","XX用户",time()+3600);
?>
<?php
setcookie("user","",time()-3600);
?>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<form action="cookie_welcome.php" method="post">
名字: <input type="text" name="name">
年龄: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
<?php
header("Content-type:text/html;charset=utf-8");
echo "欢迎".$_POST['name'] ."<br>";
echo "你".$_POST['age'] ."岁了";
?>
あなたは23歳です