> 백엔드 개발 > PHP 튜토리얼 > 求php中实现记住密码自动登录的代码

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

WBOY
풀어 주다: 2016-06-23 13:57:19
원래의
983명이 탐색했습니다.

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,'/');        }    }
로그인 후 복사
로그인 후 복사
로그인 후 복사

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,'/');        }    }
로그인 후 복사
로그인 후 복사
로그인 후 복사



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

是从类中抽取出来。 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,'/');        }    }
로그인 후 복사
로그인 후 복사
로그인 후 복사


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

lz给分好小气的


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

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

用cookie+session就可以实现啊

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿