Rumah > Artikel > pembangunan bahagian belakang > 求php中实现记住密码自动登录的代码,该如何处理
求php中实现记住密码自动登录的代码
RT新手,希望给出可以运行的代码,谢谢
------解决方案--------------------
<br /><br />是从类中抽取出来。<br /><br /> private $_cookie_user_id='au';<br /> private $_cookie_user_passwd='ap';<br /><br /> /**<br /> * 登录,如果已经登录,则自动 跳到用户中心<br /> */<br /> public function login()<br /> {<br /> if($_SESSION['user'])<br /> {<br /> goto end;//已经登录<br /> }<br /> $login_id=isset($_POST['login_id'])?($_POST['login_id']):'';<br /> $passwd=isset($_POST['passwd'])?($_POST['passwd']):'';<br /> if(!$login_id)<br /> {<br /> $this->toLogin();//需要登录<br /> }<br /><br /> if($this->_login($login_id, $passwd))<br /> {<br /> $this->setloginCookie($_POST['autoLogin'],$login_id,$password);//设置登录cookie信息<br /> }else<br /> {<br /> $this->output('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>');<br /> <br /> return ;<br /> }<br /> end:<br /> //$this->assign('nick_name',$_SESSION['user']['nick_name']);<br /><br /> $this->UCenter();<br /><br /> }<br /><br /> /**<br /> * 返回cookie登录结果,如果cookie不存在就返回假。!<br /> * @return boolean<br /> */<br /><br /> public function cookieLogin()<br /> {<br /> $cookie_login_id=$_COOKIE[$this->_cookie_user_id];<br /> $cookie_password=$_COOKIE[$this->_cookie_user_passwd];<br /><br /> if($cookie_login_id)<br /> {<br /> $result=$this->_login($cookie_login_id, $cookie_password,true);<br /> echo $result;//返回给ajax调用此函数<br /> return $result;<br /> }<br /> else<br /> return false;<br /> }<br /> /**<br /> * 设置登录cookie信息,$autoLogin,无值或者为0 就什么都不做,<br /> * 大于0的数字就是自动登录的日期数,小于等于0就是取消自动登录设置<br /> * @param unknown $autoLogin 大于0就设置自动登录,小于0 就取消自动登录<br /> */<br /> private function setloginCookie($autoLogin,$login_id,$passwd)<br /> {<br /><br /> if(!$autoLogin) //无值就什么都不做<br /> return;<br /> if($autoLogin>0)//大于数字就是自动登录的日期数<br /> {<br /> //import('org.crypt.Base64');<br /> $time=time()+60*60*24*$autoLogin;<br /> setcookie($this->_cookie_user_id,$login_id,$time,'/');<br /> setcookie($this->_cookie_user_passwd,$passwd,$time,'/');<br /> }else //小于0就是取消<br /> {<br /> setcookie($this->_cookie_user_id,$login_id,time()-100,'/');<br /> setcookie($this->_cookie_user_passwd,$passwd,time()-100,'/');<br /> }<br /> }<br /><br />