PHP Cookie設定 ログイン削除 詳細解説_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:14:38
オリジナル
815 人が閲覧しました

Cookie はすべてのプログラム開発に存在するものです。Cookie の設定 (SetCookie) とログインの削除 ($_COOKIE) の使用方法を紹介します。

1. クッキーを設定する

PHP は SetCookie 関数を使用して Cookie を設定します。注意すべき点の 1 つは、Cookie は HTTP プロトコル ヘッダーの一部であり、ブラウザとサーバーの間で情報を転送するために使用されるため、HTML ファイル自体に属するコンテンツが出力される前に Cookie 関数を呼び出す必要があることです。

SetCookie 関数は Cookie を定義し、それを HTTP ヘッダーの末尾に追加します。 SetCookie 関数のプロトタイプは次のとおりです。

int SetCookie(文字列名、文字列値、int 期限切れ、文字列パス、文字列ドメイン、int セキュア);

名前を除くすべてのパラメータはオプションです。 3 つのパラメータ値、パス、およびドメインは空の文字列に置き換えることができ、それらが設定されていないことを示します。expire パラメータと secure パラメータは数値であり、0 で表すことができます。期限切れパラメータは標準の Unix タイムスタンプで、time() または mktime() 関数を使用して秒単位で取得できます。 secure パラメータは、この Cookie が暗号化された HTTPS プロトコルを介してネットワーク上で送信されるかどうかを示します。

現在設定されているCookieはすぐには有効になりませんが、次のページまで表示されません。これは、設定されたページでCookieがサーバーから顧客のブラウザに渡され、ブラウザが顧客からCookieを転送できるためです。次のページへ ファイルがマシンから取得されてサーバーに返される理由。

同じページ上での Cookie の設定は実際には後ろから前へ行われるため、新しい Cookie を挿入する前に Cookie を削除したい場合は、最初に挿入ステートメントを記述し、次に削除ステートメントを記述する必要があります。そうしないと、望ましくないエラーが発生する可能性があります。

いくつかの例を見てみましょう:

クッキーを作成するには?

setcookie() 関数は、Cookie を設定するために使用されます。

注: setcookie() 関数は タグの前に配置する必要があります。

文法

setcookie(名前、値、有効期限、パス、ドメイン);

シンプル:

コードは次のとおりですコードをコピー
SetCookie(“MyCookie”, “MyCookie の値”);

有効期限あり:

SetCookie(“WithExpire”, “1時間で期限切れ”, time()+3600);//3600秒=1時間

すべてが利用可能です:

SetCookie(“FullCookie”, “完全な Cookie 値”, time()+3600, “/forum”, “.phpuser.com”, 1);

ここでもう 1 つ説明すべき点があります。たとえば、サイトに複数の異なるディレクトリがある場合、パスなしで Cookie のみを使用すると、あるディレクトリのページに設定された Cookie は別のディレクトリのページには表示されません。言い換えれば、Cookie はパス指向です。実際、パスが指定されていない場合でも、WEB サーバーは現在のパスを自動的にブラウザーに渡し、パスを指定すると、サーバーは設定されたパスを使用するように強制されます。この問題を解決するには、SetCookie を呼び出すときにパスとドメイン名を追加します。ドメイン名の形式は「www.phpuser.com」または「.phpuser.com」です。

SetCookie関数のvalueを表す部分は渡すときに自動的にエンコードされます。つまり、valueの値が「test value」の場合、URLのメソッドと同様に渡されたときに「test%20value」になります。 。もちろん、PHP は Cookie 値を受信すると自動的にデコードするため、これはプログラムに対して透過的です。

同じ名前の Cookie を複数設定したい場合は、配列を使用します。

コードは次のとおりですコードをコピー

2. Cookieの受信と処理

PHP は Cookie の受信と処理を非常に優れたサポートを備えており、完全に自動であり、FORM 変数と同じ原理を持っています。

たとえば、MyCookier という名前の Cookie を設定すると、PHP は WEB サーバーが受信した HTTP ヘッダーからそれを自動的に分析し、$myCookie という名前の通常の変数と同様の変数を形成します。この変数の値が Cookie の値になります。配列にも同じことが当てはまります。もう 1 つの方法は、PHP のグローバル変数 $HTTP_COOKIE_VARS 配列を参照することです。

例は次のとおりです: (これらが前のページで設定されており、まだ有効であると仮定します)

SetCookie(“CookieArray[]”, “値 1”);

SetCookie(“CookieArray[]”, “値 2”);

または

SetCookie(“CookieArray[0]”, “値 1”);

SetCookie(“CookieArray[1]”, “値 2”);

コードは次のとおりです コードをコピー

$MyCookie をエコー;

エコー $CookieArray[0];

エコーカウント($CookieArray

)

Cookieの値を取得するには?
PHP の $_COOKIE 変数は、Cookie の値を取得するために使用されます。

以下の例では、「user」という名前の Cookie の値を取得し、ページに表示します。

コードは次のとおりですコードをコピー
// クッキーを印刷します
echo $_COOKIE["ユーザー"];

// すべての Cookie を表示する方法

print_r($_COOKIE);
?>

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

コードは次のとおりですCookieを削除するには?
コードをコピー


if (isset($_COOKIE["user"]))

echo "ようこそ " . $_COOKIE["user"] "!
";
それ以外
echo "ようこそゲスト!
";
?>


Cookie を削除する場合は、有効期限を過去の時点に変更する必要があります。


削除の例:

コードは次のとおりです // 有効期限を 1 時間前に設定します

setcookie("ユーザー", "", time()-3600);
?>

コードをコピー

ユーザーのログイン時間と有効期限のタイムコードを設定するためのphp cookie

コードは次のとおりです関数loginCookie($uid,$name,$group,$ip,$time)

詳細については、http://www.bKjia.c0m/phper/18/1b5df18d38cfea1a63282c367f6cdf63.htmをご確認ください。

コードをコピー
{

グローバル $site_domain,$login_key;

$domain = (substr($site_domain,0,4) == "www.") substr($site_domain,3) : ".".$site_domain;

$secure = Xxtea::encrypt($uid."|".$name."|".$group."|".$ip,$login_key);

setcookie("userId",$uid,$time+86400,"/",$domain);

setcookie("userName",$name,$time+86400,"/",$domain);

setcookie("userGroup",$group,$time+86400,"/",$domain);

setcookie("userSecure",$secure,$time+86400,"/",$domain);
}

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

tru​​ehttp://www.bkjia.com/PHPjc/628980.html技術記事 Cookie はあらゆるプログラム開発に存在します。Cookie の設定 (SetCookie) とログインの削除 ($_COOKIE) について説明します。 1. Cookie を設定する PHP は SetCookie 関数を使用して Cookie を設定します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート