解决方案 »

  1.   

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

  2.   

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

  3.   

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