求php中實現記住密碼自動登入的代碼,該如何處理

來源:互聯網
上載者:User
求php中實現記住密碼自動登入的代碼
RT新手,希望給出可以啟動並執行代碼,謝謝
------解決方案--------------------


是從類中抽取出來。

private $_cookie_user_id='au';
private $_cookie_user_passwd='ap';

/**
* 登入,如果已經登入,則自動 跳到使用者中心
*/
public function login()
{
if($_SESSION['user'])
{
goto end;//已經登入
}
$login_id=isset($_POST['login_id'])?($_POST['login_id']):'';
$passwd=isset($_POST['passwd'])?($_POST['passwd']):'';
if(!$login_id)
{
$this->toLogin();//需要登入
}

if($this->_login($login_id, $passwd))
{
$this->setloginCookie($_POST['autoLogin'],$login_id,$password);//設定登入cookie資訊
}else
{
$this->output('登入失敗:使用者名稱或者密碼不正確');//
去 再登入
');

return ;
}
end:
//$this->assign('nick_name',$_SESSION['user']['nick_name']);

$this->UCenter();

}

/**
* 返回cookie登入結果,如果cookie不存在就返回假。!
* @return boolean
*/

public function cookieLogin()
{
$cookie_login_id=$_COOKIE[$this->_cookie_user_id];
$cookie_password=$_COOKIE[$this->_cookie_user_passwd];

if($cookie_login_id)
{
$result=$this->_login($cookie_login_id, $cookie_password,true);
echo $result;//返回給ajax調用此函數
return $result;
}
else
return false;
}
/**
* 設定登入cookie資訊,$autoLogin,無值或者為0 就什麼都不做,
* 大於0的數字就是自動登入的日期數,小於等於0就是取消自動登入設定
* @param unknown $autoLogin 大於0就設定自動登入,小於0 就取消自動登入
*/
private function setloginCookie($autoLogin,$login_id,$passwd)
{

if(!$autoLogin) //無值就什麼都不做
return;
if($autoLogin>0)//大於數字就是自動登入的日期數
{
//import('org.crypt.Base64');
$time=time()+60*60*24*$autoLogin;
setcookie($this->_cookie_user_id,$login_id,$time,'/');
setcookie($this->_cookie_user_passwd,$passwd,$time,'/');
}else //小於0就是取消
{
setcookie($this->_cookie_user_id,$login_id,time()-100,'/');
setcookie($this->_cookie_user_passwd,$passwd,time()-100,'/');
}
}


------解決方案--------------------
我給你的就是面向過程代碼。
你直接去掉 public,private 就是面向過程代碼了。
------解決方案--------------------
用cookie+session就可以實現啊
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.