控制器内为什么没有去接收POST的数据就能直接用变量了?

浏览:907 发布日期:2014/05/04 分类:求助交流 关键字: 变量接收
我在看OT的登录功能,看到这我有个疑问,上面$username $password $verify 这三个变量没有进行接收就直接用了,这是什么情况,有人告诉我是TP的变量绑定,但我查了下手册,变量绑定是URL形式的,而这是POST过来的数据啊。求解!!!!代码如下:public function login($username = null, $password = null, $verify = null){
        if(IS_POST){
            /* 检测验证码 TODO: */
            if(!check_verify($verify)){
                $this->error('验证码输入错误!');
            }

            /* 调用UC登录接口登录 */
            $User = new UserApi;
            $uid = $User->login($username, $password);
            if(0 < $uid){ //UC登录成功
                /* 登录用户 */
                $Member = D('Member');
                if($Member->login($uid)){ //登录用户
                    //TODO:跳转到登录前页面
                    $this->success('登录成功!', U('Index/index'));
                } else {
                    $this->error($Member->getError());
                }

            } else { //登录失败
                switch($uid) {
                    case -1: $error = '用户不存在或被禁用!'; break; //系统级别禁用
                    case -2: $error = '密码错误!'; break;
                    default: $error = '未知错误!'; break; // 0-接口参数错误(调试阶段使用)
                }
                $this->error($error);
            }
        } else {
            if(is_login()){
                $this->redirect('Index/index');
            }else{
                /* 读取数据库中的配置 */
                $config    =    S('DB_CONFIG_DATA');
                //print_r($config);
                if(!$config){
                    $config    =    D('Config')->lists();
                    S('DB_CONFIG_DATA',$config);
                }
                //print_r($config);
                C($config); //添加配置
                
                $this->display();
            }
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>