Heim > Backend-Entwicklung > PHP-Tutorial > 求php中实现记住密码自动登录的代码

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

WBOY
Freigeben: 2016-06-23 13:57:19
Original
983 Leute haben es durchsucht

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,'/');        }    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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,'/');        }    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren



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

是从类中抽取出来。 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,'/');        }    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


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

lz给分好小气的


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

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

用cookie+session就可以实现啊

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage