網頁上經常有一些自動登入的checkbox,勾選後,下次進入該**,無需登入,即可執行一些需要登入才能執行的操作。上班無事,用thinkphp做了下
1 下面是乙個很普通的form表單,有乙個checkbox 用來標誌是否選擇了自動登入。
tpl/login/index.html
class='demo'>
2 下面是提交處理方法 lib/action/loginaction.class.php
//處理登陸表單提交
public
function
dologin()
$m = m('user');
//dump($m);
$username = $this->_post('username');
$password = $this->_post('password');
$where = array('username' => $username
);
//判斷使用者名稱是否存在
if ($m->where($where)->getfield('id'))
header("content-type:text/html;charset=utf-8");
$this->redirect('/index/index', array(), 3, '登陸成功,正在跳轉');}}
else
}
可以看到**整體基本都是使用者名稱密碼的驗證,其中isset($_post['auto'])是勾選自動登入後,寫入cookie。其中encryption()函式是乙個加密函式
3寫乙個action基類,commonaction常用的action都去繼承這個類
class commonaction extendsaction }}
if(!isset($_session['uid']))
}}
if(isset($_cookie['auto']) && !$_session['uid']){}這個判斷用來判斷使用者的cookie中有auto值,並且沒有登入時,假如驗證成功,則進一步驗證ip與上次ip是否一致,驗證使用者名稱是否存在於資料庫中,如果驗證通過,則寫入session,由此實現自動登入。其中encryption($_cookie['auto'],1)是乙個解密函式,將加密後的使用者名稱和密碼解密出來進行驗證。
ps:加密解密函式如下,可以寫在common/common.php作為函式進行使用
/** *
* @param string $value 要加密的值
* @param int $type 0加密 1解密 */
function encryption($value,$type=0)
else
if($type==1)
}
ThinkPHP實現登入退出功能
使用者登陸與退出 註冊成功後,將頁面跳轉到login登陸頁面 當資料提交到登陸頁面後,必須先執行驗證碼驗證通過再執行登陸操作 public function checkyzm yzm else public function login elseelse v層 退出登陸 讀取c think.cook...
Thinkphp實現自動驗證和自動完成
thinkphp的自動驗證和自動完成都是根所表單提交的內容來的,對部分資料進行規則驗證和處理後插入到資料庫。1 自動驗證格式 array array 驗證欄位1,驗證規則,錯誤提示,驗證條件,附加規則,驗證時間 array 驗證欄位2,驗證規則,錯誤提示,驗證條件,附加規則,驗證時間 驗證條件 se...
ThinkPHP登入功能的實現方法
登陸功能是php程式設計中常見的功能。本文thinkphp例項主要完成註冊成功後進入首頁,並告訴你是登入使用者的功能。具體實現步驟如下 第一步 在config.php檔案中加上 完整實現 如下 public function insert else throw exception script al...