ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp でのセッションの使用と理解!
セッションの役割: セッションはデータを失うことなく長期間保存できます。
セッションの一般的な使用法: 1. ログイン、ログイン情報を保存 2. ショッピング カート情報を保存 3. 確認コード情報を保存
セッション定数を定義
define('WXUSER', 'wxuser_session');define('MEMBER', 'member_session');define('MERCHANT', 'merchant_session');define('AGENT', 'agent_session');define('CART', 'cart_session');
セッションの割り当て
session(MERCHANT, $user['id']);
セッションに基づいてユーザー情報を取得します
$user = M('user')->where(array('id' => session(MERCHANT)))->find();$this->user = $user;$this->user_id = $user['id'];
セッションが存在する場合は直接メインインターフェイスに入り、そうでない場合はログインインターフェイスに入ります
//商户登陆 public function login() { if (session(MERCHANT)) { $this->redirect(U('User/Index/index')); } else { $this->display(); } }
ログアウトしてセッションを破棄します
//登出 public function userLogout() { session(null); //session_destroy(); //unset($_SESSION); $this->redirect(U('Home/Index/index')); }
セッションについての理解とテスト
同じブラウザ、同じセッション名、異なる URL、異なる保存場所。そのうちの 1 つを破壊しても、他のものには影響しません。
セッションはサーバーに保存され、URL が異なるとサーバーも異なります。そのうちの 1 つを破壊しても、他のものは影響を受けません。
ブラウザを閉じると、セッションが期限切れになります。
異なるブラウザで開いた同じ URL には、対応するセッションがあります。
ほとんどのセッション メカニズムは、Session_id を保存するためにインプロセス Cookie を使用します。ブラウザを閉じると、プロセス内の Cookie は自動的に消え、その後、Session_id も消えます。が消え、再度サーバーに接続しても元のセッションが見つかりません。
「1 週間覚えておいてください」など、次回ログイン時にクリックすると自動的にログインできます。これには、上で説明した別のタイプの Cookie (ハードディスク上の Cookie) を使用する必要があります。このとき、Session_id は有効期限が切れるまで、ハードディスク上の Cookie に長期間保存されます。