ユーザーログインの検証、ユーザーの閲覧履歴の記録、ショッピングカートデータの保存、ユーザーセッションの有効時間の制限など、ユーザー情報を追跡する際にはセッションとCookieを使用する必要があります。今日は、PHP がセッションと Cookie をどのように操作するかを学びます。
Session
PHP の $_SESSION は、ユーザーが WEB ウェブサイトにアクセスすると、PHP によって訪問ユーザーごとにセッション ID が作成され、クライアント マシンに保存されます。ユーザーのセッションデータはサーバーに保存されますが、セッションが期限切れになると、ユーザーのセッション情報も無効になります。
セッションを使用する場合、PHP セッションを使用する場合は、必ず session_start() をページのヘッダーに追加して、サーバーにセッションの使用を開始するように指示してください。その前に出力があってはなりません。そうしないと、エラーが報告されます。
<?php session_start(); //PHP 代码... ?>
PHP の設定とセッションの取得
PHP の $_SESSION を使用して、次のようなセッション データを設定および取得できます。
<?php session_start(); //设置一个session值 $_SESSION["name"] = "Hello"; //将session以数组形式保存 $_SESSION["arr"] = array('name' => 'Hello', 'url' => 'http://www.helloweba.com', 'type'=> 'website'); ?>
セッション データが保存されたら、Web サイトでセッションを使用できます。別のページでセッション データを取得できます:
<?php session_start(); //获取保存的Session name echo $_SESSION["name"]; //打印数组session print_r($_SESSION["arr"]); ?>
PHP セッションの削除
セッションが使用されなくなったら、PHP を使用してセッション データを削除およびクリアできます。方法は次のとおりです。現在のユーザーのすべてのセッション情報をクリアするには、次のコードを使用できます:
<?php unset($_SESSION["name"]); ?>
Cookie
Cookie は、ユーザーがアクセスした Web サイトサーバーによって現在のクライアントコンピューター上に作成される一時ファイルです。ユーザーが次回ウェブサイトを訪問するときにウェブサイトサーバーがユーザー情報を識別できるようにするための情報。ユーザーインターフェイス、ユーザーID、その他のデータを保存するために共通のCookieが使用されます。
PHP Set Cookie
PHP の setcookie() を使用して、クライアント上で Cookie を作成できます。この関数は、Cookie 名、値、有効期間という 3 つの主要なパラメーターを提供します。
<?php session_destroy(); ?>
上記のコードを実行すると、Chrome という名前の Cookie が作成され、クライアントに 1 時間保存されます。Cookie 情報は 1 時間後に期限切れになります。
PHP は Cookie を受け取ります
Cookie が作成された後、PHP の $_COOKIE を使用して Cookie の値を簡単に取得できます。使用方法は次のとおりです:
<?php $cookie_val = 'Chrome'; setcookie("browser", $cookie_val, time()+3600); ?>
PHP Cookie の削除
machine Cookie 情報については、次のコードを使用できます:
<?php if(isset($_COOKIE['browser'])) { echo '您的浏览器是:' . $_COOKIE['browser']; } ?>
上記のコードは、ブラウザという名前の Cookie をクリアし、有効期間を 1 時間前に設定して、Cookie 情報を完全にクリアします。