Cookie は PHP でよく使用されますが、多くの友人は Cookie がどのように機能するかを知らないかもしれません。次のエディターでは、PHP Cookie の動作原理と、Cookie の読み取りおよび書き込み操作の例をいくつか説明します。
Cookie とセッション状態
これら 2 つの概念は BS 開発に不可欠です。実際の応用がなければ、詳細を理解することは困難です。参考アドレスを読んでください。
クッキーとは何ですか?
Cookie は、ユーザーのリクエストやページとともに Web サーバーとブラウザーの間で受け渡される小さなテキスト情報です。 Cookie に含まれる情報は、ユーザーがサイトにアクセスするたびに Web アプリケーションによって読み取ることができます。 Cookie の仕組みの基本 ユーザーがサイト上のページに戻って URL www.*****.com を入力すると、ブラウザはローカル ハード ドライブ上でその URL に関連付けられた Cookie を探します。 Cookie が存在する場合、ブラウザはページリクエストとともにそれをサイトに送信します。
クッキーは何に使用されますか?
最も基本的な目的は次のとおりです。Cookie は、Web サイトが訪問者に関する情報を保存するのに役立ちます。より一般的には、Cookie は Web アプリケーションの継続性を維持する (つまり、「状態管理」を実行する) ための方法です。
•顧客が 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 つのパラメーターです。
1. 例:
コードは次のとおりです | コードをコピー |
$value="最善の方法は自分で行うことです"; setcookie("cookiename",$value,time()+60*60*24*7); |
1. Cookieの受信と処理
PHP は Cookie を適切にサポートしています。フォームと同様に、PHP は Web サーバーから HTTP ヘッダーを自動的に受信し、受信時に処理します。受信時には、$_COOKIE["cookiename"] または $HTTP_COOKIE_VARS["cookiename"] を使用します (非推奨)
1. 注意:
Web サイトに複数の異なるファイル ディレクトリがあり、パスのない Cookie を使用する場合、Cookie は Cookie を設定するファイルのパスでのみアクセスできます。パスを指定した場合は、設定時のパスが指定パスとしてCookieにアクセスします。
Cookie配列を作成します:
1. 1 つ:
コードは次のとおりです | コードをコピー |
setcookie("CookieArray[0]","Value1"); setcookie("CookieArray[1]","Value2"); |
1.2番目:
コードは次のとおりです | コードをコピー |
setcookie("CookieArray['one']","Value1"); setcookie("CookieArray['two']","Value2"); |
1.setcookie()で配列を使用する
コードは次のとおりです | コードをコピー |
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 } } ?> |
Cookieを削除する
1. 既存の Cookie を削除するには、2 つの方法があります:
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 に過度に依存することは避け、念のため Cookie が無効になっている場合の解決策を検討してください。