PHP で Cookie を使用する

Cookie を使用して Web サイトの訪問者情報を保存する

ラップトップで働くビジネスウーマン

画像をブレンド - JGI/Jamie Grill/Brand X Pictures/Getty Images





ウェブサイトの開発者として、あなたは使用することができます PHP ウェブサイトへの訪問者に関する情報を含む Cookie を設定します。 クッキー サイト訪問者に関する情報を訪問者のコンピューターに保存し、再訪問時にアクセスできるようにします。 Cookie の一般的な用途の 1 つは、アクセス トークンを保存して、ユーザーが Web サイトにアクセスするたびにログインする必要がないようにすることです。 Cookie には、ユーザー名、最終訪問日、ショッピング カートの内容などの他の情報も保存できます。

Cookie は何年も前から存在しており、ほとんどの人は Cookie を有効にしていますが、一部のユーザーは Cookie を受け入れません。 プライバシーの問題 または、ブラウジング セッションが終了したときに自動的に削除します。 Cookie はユーザーがいつでも削除でき、 プレーンテキスト形式 機密性の高いものを保存するために使用しないでください。



PHP を使用して Cookie を設定する方法

PHP では、 setcookie() 関数は Cookie を定義します。他の HTTP ヘッダーと一緒に送信され、HTML の本文が解析される前に送信されます。

Cookie は次の構文に従います。



|_+_|

どこ 名前 は Cookie の名前を示し、 は、Cookie の内容を示します。のために setcookie() 関数、のみ 名前 パラメータが必要です。他のすべてのパラメーターはオプションです。

クッキーの例

値を現在の日付に設定し、さらに有効期限を 30 日 (2592000 = 60 秒 * 60 分 * 24 時間 * 30 日) に設定する「UserVisit」という名前の Cookie を訪問者のブラウザーに設定するには、次の PHP コード:

|_+_|

HTML がページに送信される前に Cookie を送信する必要があります。そうしないと、Cookie は機能しません。 setcookie() 関数は 鬼ごっこ。

PHP を使用して Cookie を取得する方法

次回の訪問時にユーザーのコンピューターから Cookie を取得するには、次のコードで呼び出します。



|_+_|

このコードは、最初に Cookie が存在するかどうかを確認します。その場合は、ユーザーの再訪問を歓迎し、ユーザーが最後にアクセスしたのはいつかを通知します。ユーザーが新しい場合は、一般的なウェルカム メッセージが出力されます。

ヒント: Cookie を設定する予定の同じページで Cookie を呼び出している場合は、上書きする前に取得してください。



クッキーを破棄する方法

Cookie を破棄するには、次を使用します。 setcookie() ただし、有効期限を過去に設定します。

|_+_|

オプションのパラメータ

に加えて 価値期限切れ、setcookie() 関数は、他のいくつかのオプションのパラメーターをサポートしています。



  • は、Cookie のサーバー パスを識別します。 「/」に設定すると、Cookie はドメイン全体で利用可能になります。デフォルトでは、Cookie は設定されたディレクトリで動作しますが、このパラメータで指定することにより、他のディレクトリで動作するように強制できます。この関数はカスケードされるため、指定されたディレクトリ内のすべてのサブディレクトリも Cookie にアクセスできます。
  • ドメイン Cookie が機能する特定のドメインを識別します。すべてのサブドメインで Cookie を機能させるには、最上位ドメインを明示的に指定します (例: 「sample.com」)。ドメインを「www.sample.com」に設定すると、Cookie は www サブドメインでのみ使用できます。
  • 安全 は、安全な接続を介して Cookie を送信するかどうかを指定します。この値が TRUE に設定されている場合、Cookie は HTTPS 接続に対してのみ設定されます。デフォルト値は FALSE です。
  • Httpのみ を TRUE に設定すると、HTTP プロトコルによる Cookie へのアクセスのみが許可されます。デフォルトでは、値は FALSE です。 Cookie を TRUE に設定する利点は、スクリプト言語が Cookie にアクセスできないことです。