PHP で Cookie とセッションを使用するにはどうすればよいですか?

王林
リリース: 2023-05-12 09:56:01
オリジナル
1222 人が閲覧しました

Web 開発では、Cookie とセッションは非常によく使用される 2 つの概念です。これらは、ユーザーのログイン ステータスやその他のデータを保存して、ユーザーにより良いユーザー エクスペリエンスを提供するのに役立ちます。 PHPでもCookieとセッションを使うととても便利なので、PHPでのCookieとセッションの使い方を紹介しましょう。

1. Cookie の使用

1. Cookie とは

「Cookie」とも呼ばれる Cookie は、ユーザーのコンピュータに保存される小さなテキストです。ウェブサーバーです。ユーザーが Web ページにアクセスすると、Web サーバーは Cookie をユーザーのコンピュータに送信し、ブラウザに保存します。その後、ユーザーが同じ Web サイトに再度アクセスすると、ブラウザは Cookie をサーバーに送り返し、それによってクライアントとサーバーの間でデータを受け渡すという目的が達成されます。

2. Cookie の設定

Cookie を設定するには、PHP の setcookie() 関数を使用できます。 setcookie() 関数は、Cookie の名前、Cookie の値、Cookie の有効期間の 3 つのパラメータを受け入れます。

サンプルコード:

setcookie('name', 'John', time()+3600); //设置一个名为“name”的Cookie,值为“John”,有效期1个小时
ログイン後にコピー

上記のコードでは、最初のパラメータは Cookie の名前、2 番目のパラメータは Cookie の値、3 番目のパラメータは Cookie の有効期間です。このパラメータは、現在時刻から始まる Cookie の有効期間が 3600 秒、つまり 1 時間であることを示します。 Cookie を永続的に有効にしたい場合は、以下に示すように、有効期間を大きな数値に設定できます:

setcookie('name', 'John', time()+3600*24*365); //设置一个名为“name”的Cookie,值为“John”,有效期为1年
ログイン後にコピー

3. Cookie の読み取り

Cookie を読み取るには、次のように使用できます。 PHP $_COOKIE グローバル変数。この変数は、すべての Cookie の名前と値を含む連想配列です。

サンプル コード:

echo $_COOKIE['name']; //输出名为“name”的Cookie的值
ログイン後にコピー

上記のコードでは、echo ステートメントを使用して、「name」という名前の Cookie の値を出力します。

4. Cookie の削除

Cookie を削除するには、setcookie() 関数を使用し、有効期間を過去の時点に設定します。

サンプル コード:

setcookie('name', '', time()-3600); //删除名为“name”的Cookie
ログイン後にコピー

上記のコードでは、Cookie の有効期間を現在時刻から 3600 秒を引いた時間 (1 時間前の時点) に設定します。削除できます。

2. セッションの使用

1. セッションとは

セッションは、ユーザーのログイン ステータスやその他の情報を保存するために使用できるサーバー側のデータ保存方法です。 。セッションはサーバーに保存されるのに対し、Cookie はユーザーのコンピュータに保存されるため、セッションを使用することは Cookie よりも安全です。

2. セッションを開く

セッションを開くには、PHP の session_start() 関数を使用します。この関数はサーバー上にセッションを作成し、ブラウザーに「PHPSESSID」という名前の Cookie を保存します。Cookie の値はセッションの ID です。

サンプル コード:

session_start(); //开启Session
ログイン後にコピー

上記のコードでは、session_start() 関数を使用してセッションを開きます。

3. セッションのセットアップ

セッションをセットアップするには、session_start() 関数の後に $_SESSION 配列を使用するだけです。 $_SESSION 配列は、あらゆる種類のデータを格納できる連想配列です。

サンプル コード:

$_SESSION['name'] = 'John'; //设置一个名为“name”的Session变量,值为“John”
ログイン後にコピー

上記のコードでは、$_SESSION 配列を使用して、「name」という名前のセッション変数に「John」という値を設定します。

4. セッションの読み取り

セッションを読み取るには、$_SESSION 配列を使用するだけです。

サンプル コード:

echo $_SESSION['name']; //输出名为“name”的Session变量的值
ログイン後にコピー

上記のコードでは、echo ステートメントを使用して、「name」という名前のセッション変数の値を出力します。

5. セッションの破棄

セッションを破棄するには、session_destroy() 関数を使用します。この関数はサーバー上のセッションを削除し、ブラウザーの「PHPSESSID」Cookie を削除します。

サンプル コード:

session_destroy(); //销毁Session
ログイン後にコピー

上記のコードでは、session_destroy() 関数を使用してセッションを破棄します。

3. Cookie とセッションの比較

Cookie とセッションはどちらもユーザーのステータスやその他の情報を保存するために使用できます。それらの主な違いは、データが保存される場所です。 Cookie はユーザーのコンピュータに保存され、セッションはサーバーに保存されるため、セッションは Cookie よりも安全です。さらに、Session はより多くのデータを保存できますが、Cookie にはサイズ制限があります。

要約すると、PHP で Cookie とセッションを使用すると、いくつかの簡単な関数と変数を使用するだけで非常に便利です。ユーザーステータスやその他のデータを保存する必要がある場合、自分に合ったデータ保存方法を選択できます。

以上がPHP で Cookie とセッションを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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