Home  >  Article  >  Backend Development  >  求php中实现记住密码自动登录的代码,该如何处理

求php中实现记住密码自动登录的代码,该如何处理

WBOY
WBOYOriginal
2016-06-13 11:56:471113browse

求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 />

------解决方案--------------------
我给你的就是面向过程代码。
你直接去掉 public,private 就是面向过程代码了。
------解决方案--------------------
用cookie+session就可以实现啊

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn