public function register(){
          if($this->isPost()) {
                $Mem=D('Member');
                if( $Mem->Create()) {
                    if($Mem->add())
                       echo $Mem->getLastSql();
                        $this->assign('waitSecond',3);
                        $this->success("注册成功","__APP__/Member/login"); }
上面的代码可以验证。
    public function xinxixiugai(){
        if($this->isPost())
        {
            $Model=D('Member');
            $password=$_POST['password'];
            $tel=$_POST['tel'];
            $address=$_POST['address'];            if($Model->Update($password,$tel,$address))
            {    $this->success("更新成功",__APP__/Space/index);}
            else
                echo $Model->getError();
        }
这个验证不了
另外我看手册如果修改也用create,需要在表单加一个ID的隐藏域?
具体做法是不是在页面加段PHP代码,session('id'), 然后加到隐藏域?

解决方案 »

  1.   

    没看到哪个页面你用到了session('id');
      

  2.   

    自动验证似乎只是应用于create的
      

  3.   

    文档中有所说明,不是create的要手动调用验证的:手动验证新版增加了一个check方法,用于个别需要的情况手动验证数据,支持部分自动验证的规则,用法如下: check('验证数据','验证规则','验证类型') 验证类型支持 in between equal length regex expire ip_allow ip_deny,默认为regex 结果返回布尔值 $model->check($value,'email'); $model->check($value,'1,2,3','in');
      

  4.   

    我这不没做吗?
    就是在控制器取出session[id]的值,然后assign到模板替换到隐藏域。您看行吗?