thinkphp框架之後臺登入頁面cookie有效期設定
阿新 • • 發佈:2019-02-18
目前開始學框架了,發現蠻有意思的,可能是由於人性天生對未知事物的好奇, 居然感到樂趣叢生,可是也感覺要學的東西實在太多壓力山大; 今天就碰到個後臺登入頁面設定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'); } }