ホームページ  >  記事  >  バックエンド開発  >  thinkphp でのセッションの使用と理解!

thinkphp でのセッションの使用と理解!

WBOY
WBOYオリジナル
2016-06-20 12:34:50846ブラウズ

セッションの役割: セッションはデータを失うことなく長期間保存できます。

セッションの一般的な使用法: 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'));    }

セッションについての理解とテスト

  1. 同じブラウザ、同じセッション名、異なる URL、異なる保存場所。そのうちの 1 つを破壊しても、他のものには影響しません。

  2. セッションはサーバーに保存され、URL が異なるとサーバーも異なります。そのうちの 1 つを破壊しても、他のものは影響を受けません。

  3. ブラウザを閉じると、セッションが期限切れになります。

  4. 異なるブラウザで開いた同じ URL には、対応するセッションがあります。

  5. ほとんどのセッション メカニズムは、Session_id を保存するためにインプロセス Cookie を使用します。ブラウザを閉じると、プロセス内の Cookie は自動的に消え、その後、Session_id も消えます。が消え、再度サーバーに接続しても元のセッションが見つかりません。

  6. 「1 週間覚えておいてください」など、次回ログイン時にクリックすると自動的にログインできます。これには、上で説明した別のタイプの Cookie (ハードディスク上の Cookie) を使用する必要があります。このとき、Session_id は有効期限が切れるまで、ハードディスク上の Cookie に長期間保存されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。