thinkphp中的session的使用和理解!

來源:互聯網
上載者:User
session的作用:session可以長時間的儲存資料,不丟失。

session的常用於:1.登入,儲存登入資訊2.儲存購物車資訊3.儲存驗證碼資訊

定義session常量

define('WXUSER', 'wxuser_session');define('MEMBER', 'member_session');define('MERCHANT', 'merchant_session');define('AGENT', 'agent_session');define('CART', 'cart_session');

給session賦值

session(MERCHANT, $user['id']);

根據session擷取使用者資訊

$user = M('user')->where(array('id' => session(MERCHANT)))->find();$this->user = $user;$this->user_id = $user['id'];

如果session存在,直接進入主介面,否則進入登入介面

    //商戶登陸    public function login() {        if (session(MERCHANT)) {            $this->redirect(U('User/Index/index'));        } else {            $this->display();        }    }

登出,銷毀session

    //登出    public function userLogout()    {        session(null);        //session_destroy();        //unset($_SESSION);        $this->redirect(U('Home/Index/index'));    }

關於session的幾點理解與測試

  1. 同一個瀏覽器,同一個session名,不同的網址,儲存的位置不同。銷毀其中一個,另外的並沒有收到影響。

  2. session是儲存在伺服器上的,不同的網址意味著不同的伺服器。銷毀其中一個,其他的並沒有收到影響。

  3. 當你關閉瀏覽器的時候,session的死期也就到了。

  4. 同一個網址,不同的瀏覽器開啟都有對應的一個session。

  5. 大部分的Session機制都使用進程中Cookie來儲存Session_id的,關閉瀏覽器後這個進程也就自動消失了,進程中的Cookie自然就消失了,那麼Session_id也跟著消失了,再次串連到伺服器時也就無法找到原來的Session了。

  6. 我們可以在登陸時點擊下次自動登入,比如說“記住我一周”。這就要用到我們上文提到的另一種Cookie了——硬碟中Cookie,這時Session_id將長期儲存在硬碟上的Cookie中,直到失效為止。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.