ホームページ >バックエンド開発 >PHPチュートリアル >Cookie の仕組み_PHP チュートリアル

Cookie の仕組み_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:36:34866ブラウズ

  • 顧客が PHP テクノロジーに基づいた Web サイトにアクセスすると、PHP で setcookie() 関数を使用して Cookie を生成できます。処理後、システムは Cookie をクライアントに送信し、C:Documents andSettings ユーザー名の Cookie ディレクトリに保存します。 。
  • Cookie は HTTP ヘッダーの一部であるため、HTML 自体のコンテンツがブラウザーに送信される前に setcookie() 関数を呼び出す必要があります。この制限は header() 関数と同じです (head() 関数を理解する必要がある場合は、自分で確認してください)。
  • 顧客が再度 Web サイトにアクセスすると、ブラウザは C:DocumentsandSettings ユーザー名 Cookies ディレクトリ内の Web サイトに対応する Cookie をサーバーに自動的に送信し、サーバーはクライアントから渡された Cookie を PHP 変数に自動的に変換します。 PHP5 では、クライアントから送信された Cookie はグローバル変数に変換されます。 $_COOKIE[‘xxx’] を通じて読み取ることができます。

クッキーを定義する

  • クッキーを設定します:
  • 構文: boolsetcookie(stringname,[stringvalue,[int期限切れ,[stringpath,[stringdomain,[int secure]]]]]);

この Cookie 関数は 6 つの属性を持つことができ、一般的に使用されるものには 3 つのパラメーターがあります。

$value="最善の方法は自分で行うことです";

setcookie("cookiename",$value,time()+60*60*24*7);

PHP は Cookie を適切にサポートしています。フォームフォームと同様に、PHP は Web サーバーから HTTP ヘッダーを自動的に受信し、受信時に処理します。受信する場合は、$_COOKIE["cookiename"] または $HTTP_COOKIE_VARS["cookiename"] を使用します (推奨されません)

Web サイトに複数の異なるファイル ディレクトリがあり、パスのない Cookie を使用する場合、Cookie は Cookie を設定するファイルのパスでのみアクセスできます。パスを指定した場合は、設定時のパスが指定パスとしてCookieにアクセスします。

Cookie配列を作成します:

setcookie("CookieArray[0]","Value1");

setcookie("CookieArray[1]","Value2");

setcookie("CookieArray['one']","Value1");

setcookie("CookieArray['two']","Value2");

setcookie("cookie[3]","cookiethree");

setcookie("cookie[2]","cookietwo");

setcookie("cookie[one]","cookieone");

//ページを更新すると表示されます

if(isset($_COOKIE['cookie'])){

foreach($_COOKIE['cookie']as$name=>$value){

echo"$name:$value
n";

}

}

?>

Cookieを削除する

1. name パラメーターのみを指定して setcookie を呼び出すと、この名前の Cookie がクライアントから削除されます。

setcookie("MyCookie");//MyCookie を削除します

2. 有効期限が十分であれば、このページを閲覧した後、Cookie は削除されます (実際には無効になります)。

例:

setcookie("MyCookie","Value",time()-1);

//MyCookie を削除します。

注: Cookie が削除されても、その値は現在のページで引き続き有効です。ブラウザを閉じた後に Cookie が期限切れになるように設定したい場合。その後、expiredtime を直接 0 に設定することも、この値を設定しないこともできます。

例: setcookie("name","value",0)。

クッキーノート

    1. setcookie() の前に HTML 出力を含めることはできません。HTML ファイルのコンテンツが出力される前に設定する必要があります。
  • 2. setcookie() の後、現在のページで echo$_COOKIE["name"] を呼び出しても出力はありません。 Cookie の値を確認するには、更新するか次のページに移動する必要があります。
  • 3. ブラウザーが Cookie を別の方法で処理する必要はありません。クライアントは Cookie を無効にすることができ、ブラウザも Cookie の数を制限します。ブラウザで作成できる Cookie の最大数は 300 で、各 Cookie は 4KB を超えることはできません。各 Web サイトで設定できる Cookie の総数は 20 を超えることはできません。
  • 4. ユーザーが Cookie を無効にすると、Cookie はクライアント側に保存されます。したがって、Cookie に過度に依存することは避け、念のため Cookie が無効になっている場合の解決策を検討してください。

http://www.bkjia.com/PHPjc/738550.html

tru​​ehttp://www.bkjia.com/PHPjc/738550.html技術記事顧客が PHP テクノロジーに基づいた Web サイトにアクセスすると、PHP で setcookie() 関数を使用して Cookie を生成できます。処理後、システムは Cookie をクライアントに送信し、C:Document... に保存します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。