ホームページ > バックエンド開発 > PHPの問題 > Cookie PHP のライフサイクルを設定する方法

Cookie PHP のライフサイクルを設定する方法

PHPz
リリース: 2023-03-29 10:47:17
オリジナル
624 人が閲覧しました

Web サイト開発では、Cookie はデータ ストレージの形式として非常によく使用されます。 Cookie は、ユーザーのコンピュータに保存できる名前、値、その他のオプションの属性で構成されるテキスト ファイルです。その中で、最も重要な属性の 1 つは、Cookie のライフ サイクル (有効期限)、つまり Cookie がクライアント コンピューターに保存される期間を指定することです。 PHP では、setcookie() 関数を使用して、Cookie の名前、値、有効期限、その他の属性の設定など、Cookie を設定できます。以下では、この記事では、PHP で Cookie のライフサイクルを設定する方法を詳しく紹介します。

1. setcookie() 関数

setcookie() 関数は、PHP で Cookie を設定するために使用される関数です。その構文は次のとおりです:

setcookie(name,value) 、expire,path,domain,secure,httponly);

これらのうち、パラメーターの意味は次のとおりです:

  • name: Cookie の名前。セット。
  • value: Cookie の値。空にすることもできます。
  • expire: Unix タイムスタンプの形式で指定される Cookie のライフ サイクル。
  • path: Cookie が有効になるパスを指定します。デフォルトはドメイン名全体で有効です。
  • domain: Cookie が有効になるドメイン名を指定します。デフォルトは現在のドメイン名です。
  • secure: この Cookie を HTTPS プロトコル経由でのみ送信するかどうか。0 または 1、デフォルトは 0 です。
  • httponly: この Cookie へのアクセスを HTTP または HTTPS プロトコル経由のみに制限するかどうか (0 または 1)、デフォルトは 0 です。

その中で、expire パラメータが注目されます。

2. Cookie のライフ サイクル

Cookie のライフ サイクルは、クライアント コンピューター上の Cookie の有効期間として理解できます。 PHP では、expired パラメーターを使用して、クライアント コンピューター上の Cookie のライフ サイクルを指定できます。期限切れパラメータの値は、Unix タイムスタンプとして表される整数値です。タイムスタンプは 1970 年 1 月 1 日の 00:00:00GMT を基準とした秒数であるため、計算によって有効期限を取得できます。

それでは、例を見てみましょう。たとえば、「mycookie」という名前の Cookie を設定し、現在時刻から 60 分で期限切れになるようにしたいとします。次に、これを行うことができます:

$expire=time()+60*60; //设置生命周期为60分钟
setcookie("mycookie", "test", $expire);
ログイン後にコピー

この例では、まず現在の時刻のタイムスタンプを取得し (time() 関数で実装)、次に 60 分 (つまり 3600 秒) を追加して 60 を取得します。 -分後のタイムスタンプ。最後に、このタイムスタンプを setcookie() 関数の 3 番目のパラメーター $expire に渡し、それによって「mycookie」のライフサイクルが 60 分であることを指定します。

有効期限を設定したくない場合、つまり、ブラウザを閉じたときに Cookie が自動的に削除されるようにする場合は、以下に示すように、有効期限パラメータを 0 に設定できます。 ##さらに、Cookie をすぐに削除したい場合は、以下に示すように、そのライフ サイクルを過去のタイムスタンプに設定できます:

setcookie("mycookie", "test", 0);
ログイン後にコピー

この例では、「mycookie」のライフ サイクルを設定します。 」から現在時刻の 60 分前まで、Cookie はすぐに削除されます。

3. 実際のアプリケーション

実際のアプリケーションでは、特定のニーズに応じて Cookie のライフ サイクルを設定できます。たとえば、ユーザーのログイン ステータスを記憶したい場合は、ログイン時にユーザーのユーザー名とパスワードを Cookie に保存し、ライフ サイクルを日数、時間、分などに設定できます。等これにより、ユーザーがブラウザを閉じたりコンピュータを再起動したりした場合でも、Cookie の有効期限が切れていない限り、ユーザーは再度ログインする必要がありません。

それでは、実際の例を見てみましょう。ログイン ページがあるとします。ユーザー名とパスワードを入力した後、[パスワードを保存する] オプションをチェックできます。チェックすると、ユーザー名とパスワードが Cookie に保存され、ユーザーは再入力する必要がなくなります。次回ログインするときのユーザー名とパスワード。具体的な実装コードは次のとおりです。

setcookie("mycookie", "", time()-3600);
ログイン後にコピー

この例では、ユーザーが「パスワードを記憶する」オプションをチェックすると、ユーザー名とパスワードが Cookie に保存され、ライフサイクルが 7 日に設定されます。ユーザーが「パスワードを記憶する」オプションをチェックしない場合、ライフサイクルは設定されません。つまり、ブラウザを閉じると Cookie は自動的に削除されます。これにより、次回ユーザーがログイン ページを開いたときに (Cookie の有効期限が切れていない場合)、最後のログイン時に保存されたユーザー名とパスワードが表示されるため、ユーザーは簡単にすばやくログインできます。

4. 概要

PHP では、setcookie() 関数を使用して Cookie のライフサイクルを簡単に設定できます。ユーザーのログインステータスの記憶、ユーザー設定の保存など、さまざまなデータストレージのニーズを実現するために、特定のニーズに応じて Cookie のライフサイクルを設定できます。同時に、Cookie のライフ サイクルを設定する際には、タイムスタンプに基づく計算にも注意して、正しいライフ サイクルが設定されていることを確認する必要があります。

以上がCookie PHP のライフサイクルを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート