PHP の開発には長い時間がかかり、多くのユーザーが PHP に慣れています。ここでは PHP の Cookie 設定について投稿します。PHP は SetCookie 関数を使用して Cookie を設定します。注意すべき点の 1 つは、Cookie は HTTP プロトコル ヘッダーの一部であり、ブラウザとサーバーの間で情報を転送するために使用されるため、HTML ファイル自体に属するコンテンツが出力される前に Cookie 関数を呼び出す必要があることです。 SetCookie 関数は Cookie を定義し、それを HTTP ヘッダーの末尾に追加します。 SetCookie 関数のプロトタイプは次のとおりです。
<ol class="dp-xml"><li class="alt"><span><span>int SetCookie(string name, string value, int expire, string path, string domain, int secure); </span></span></li></ol>
同じページ上の PHP Cookie 設定は実際には後ろから前に設定されているため、新しい Cookie を挿入する前に削除したい場合は、最初に insert ステートメントを記述してから、delete ステートメントを記述する必要があります。そうしないと、エラーが発生する可能性があります。望ましい結果。簡単な PHP Cookie 設定の例をいくつか見てみましょう:
<ol class="dp-xml"><li class="alt"><span><span>SetCookie("MyCookie", "Value of MyCookie"); </span></span></li></ol>
有効期限付き:
<ol class="dp-xml"><li class="alt"><span><span>SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时 </span></span></li></ol>
Everything:
<ol class="dp-xml"><li class="alt"><span><span>SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1); </span></span></li></ol>
たとえば、サイトに複数の異なるディレクトリがある場合、次のようになります。パスのない cookie のみを使用すると、あるディレクトリのページに設定された cookie は、別のディレクトリのページには表示されません。つまり、cookie はパス指向です。実際、パスが指定されていない場合でも、WEB サーバーは現在のパスを自動的にブラウザーに渡し、パスを指定すると、サーバーは設定されたパスを使用するように強制されます。この問題を解決するには、SetCookie を呼び出すときにパスとドメイン名を追加します。ドメイン名の形式は「www.phpuser.com」または「.phpuser.com」です。
SetCookie関数のvalue部分は渡すときに自動的にエンコードされます。つまり、valueの値が「test value」の場合、URLのメソッドと同様に、渡されたときに「test%20value」になります。 。もちろん、PHP は Cookie 値を受信すると自動的にデコードするため、これはプログラムに対して透過的です。
同じ名前の Cookie を複数設定したい場合は、配列を使用します:
<ol class="dp-xml"> <li class="alt"><span><span>SetCookie("CookieArray[]", "Value 1"); </span></span></li> <li class=""><span>SetCookie("CookieArray[]", "Value 2"); </span></li> </ol>
または
<ol class="dp-xml"> <li class="alt"><span><span>SetCookie("CookieArray[0]", "Value 1"); </span></span></li> <li class=""><span>SetCookie("CookieArray[1]", "Value 2"); </span></li> </ol>