1. 程式人生 > >thinkphp框架之後臺登入頁面cookie有效期設定

thinkphp框架之後臺登入頁面cookie有效期設定

    目前開始學框架了,發現蠻有意思的,可能是由於人性天生對未知事物的好奇,
居然感到樂趣叢生,可是也感覺要學的東西實在太多壓力山大;
    今天就碰到個後臺登入頁面設定cookie有效期的小問題,本來蠻簡單的,可是就
是與視訊上的效果不太一樣,一不小心就鑽牛角尖了,硬是糾結了1個多小時,防坑心
得如下:
    1.如果未設定cookie保留時間,則cookie將在瀏覽器關閉之後被清空,此時的
cookie叫做會話cookie;
    2.如果設定了cookie儲存時間,則可以通過瀏覽器中的開發者選項檢視到cookie
的過期時間,會話型別消失;
    3.遇到問題別糾結,可以暫時放一放,讓子彈先飛一會,別像我一樣頭髮都急白了
就得不償失,太鑽實在要不得!
class LoginController extends Controller {     public function index(){         date_default_timezone_set('RPC');         if(IS_POST){             //檢測登入             $adm_id=I('post.adm_id');             $name=trim(I('post.name'));             $password=md5(I('post.password'));             $remember=I('post.remember');             $map['adm_name']=$name;             $map['password']=$password;             $data=M('admin')->where($map)->find();             //登入成功跳轉到首頁             if($data){                 //判斷是否勾選了記住賬號和密碼選項,設定cookie儲存時間                 /*血的教訓:臨時cookie不儲存在硬碟驅動器而是存在臨時儲存器中,當瀏覽器關閉時,將被刪除。(臨時cookie指的是cookie儲存設定時間為0,也叫會話cookie)*/                         $time=empty($remember)?0:3600*24*7;                         cookie('adm_name',$name,$time);                         cookie('adm_id',$adm_id,$time);                         session('adm_name',$name);                                            $this->success('登入成功!,歡迎'.$name,U('Index/index'));             }else{                                  $this->error('使用者名稱或者密碼錯誤!');             }         }else{                     $this->display();         }     }         public function logout(){             cookie(null);             session(null);             //退出後重定向回登入介面             $this->redirect('Login/index');         } }