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 值
echo $_COOKIE["user"] ."<br/>";

// 查看所有 cookie
print_r($_COOKIE);

?>

上記で php という名前の Cookie を作成したため、プログラムの実行結果は次のようになります。 表示:

php
配列 ( [pgv_pvi] => 9622684672 [ユーザー] => php )


インスタンス

次の例では、isset() 関数を使用して、Cookie が設定されているかどうかを確認します。

<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 へ !


Cookie を削除するには?

Cookieを削除するときは、有効期限を過去の日付に変更するだけです

たとえば

「user」という名前のCookieの場合、値「XX user」を割り当てます。この Cookie は 1 時間後に期限切れになるように指定されています:

<?php
header("Content-type:text/html;charset=utf-8");    //设置编码
setcookie("user","XX用户",time()+3600);
?>

上記の Cookie を削除したい場合は、次のように時間を設定してください

<?php
setcookie("user","",time()-3600);
?>

ブラウザが Cookie をサポートしていない場合はどうすればよいですか?

アプリケーションが Cookie をサポートしていないブラウザに対応する必要がある場合は、アプリケーション内のページ間で情報を渡すために他の方法を使用する必要があります。 1 つの方法は、フォームを介してデータを渡すことです (フォームと

ユーザー入力については、このチュートリアルの前の章ですでに説明しました)。

以下のフォームは、ユーザーが「送信」ボタンをクリックすると、ユーザー入力を「cookie_welcome.php」に送信します。

<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>

次のように、「cookie_welcome.php」ファイル内の値を取得します。 :

<?php
header("Content-type:text/html;charset=utf-8");
echo "欢迎".$_POST['name'] ."<br>";
echo "你".$_POST['age'] ."岁了";
?>

プログラム実行結果:

ようこそliuqi
あなたは23歳です


学び続ける
||
<?php setcookie("user","Alex Porter",time()+3600); ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜