Home > Backend Development > PHP Tutorial > 求php中实现记住密码自动登录的代码

求php中实现记住密码自动登录的代码

WBOY
Release: 2016-06-23 13:57:19
Original
982 people have browsed it

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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>');                   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,'/');        }    }
Copy after login
Copy after login
Copy after login

lz给分好小气的

是从类中抽取出来。 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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>');                   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,'/');        }    }
Copy after login
Copy after login
Copy after login



刚开始学计算机,不太懂类,麻烦给个面向过程的代码吧

是从类中抽取出来。 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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>');                   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,'/');        }    }
Copy after login
Copy after login
Copy after login


发帖比较少,一般给多少分比较合适呀?

lz给分好小气的


发帖比较少,一般给多少分比较合适呀?

我给你的就是面向过程代码。
你直接去掉 public,private 就是面向过程代码了。

用cookie+session就可以实现啊

利用用cookie+session已实现,谢谢各位

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template