为什么thinkphp 自动验证不起作用?
迷茫
迷茫 2017-04-11 10:07:11
[PHP讨论组]

为什么thinkphp 自动验证不起作用
建立的zsh_order数据表,
首先OrderController

//过滤四张图片地址之间的空白符号
    public function filter($str){
        $str = str_replace(",",",",$str);
        $str = str_replace(array("\r\n","\n","\r",'"','"',','),"",$str);
        return $str;
    }


//基本信息填写
    public function add(){
        if(IS_POST){
            $order=D('order');
            $message['cname']=I('cname');
            $message['license']=I('license');
            $message['bankinfo']=I('bankinfo');
            $message['bankaccount']=I('bankaccount');
            $message['uname']=I('uname');
            $message['weixin']=I('weixin');
            $message['email']=I('email');
            $message['phone']=I('phone');
            $message['o_uid']=$_SESSION['uid'];
            $message['ctime']=time();


            if($_FILES['pic0']['tmp_name']!='' || 
               $_FILES['pic1']|| ['tmp_name']!=''||$_FILES['pic2']          
               ['tmp_name']!='' || $_FILES['pic3']['tmp_name']!=''){                
                $upload=new \Think\Upload();
                $upload->maxSize = 3145728;
                $upload->exts=array('jpg','gif','png','jpeg');
                $upload->savePath='./Public/Uploads/';
                $upload->rootPath='./';
                $info = $upload->upload();
                if(!$info){
                    $this->error($upload->getError());
                }else{
                    $res2 = array();
                    foreach($info as $k=>$v){
                    //$this->filter过滤
                        $data['pic']= $this->filter($v['savepath'].$v['savename']);
                        array_push($res2, $data);
                        
                    }
                    $message['pic0']=$res2[0]['pic'];
                    $message['pic1']=$res2[1]['pic'];
                    $message['pic2']=$res2[2]['pic'];
                    $message['pic3']=$res2[3]['pic'];


                }

                if($_POST['check']==''){

                    $this->error('您还没有勾选[以上信息我已阅读并确认]',U('order/index'));
                }else if($order->create($message)){
                    if($order->add()){
                    $this->success('添加数据成功',U('risk/index'));
                }else{
                    $this->error('添加数据失败!',U('order/index'));
                }
                }else{
                    $this->error($order->getError());
                }

                return;
            }
        }
    }

然后是Ordermodel的自动验证

最后是view页面

            

公司资料

填写公司全称

上传公司营业执照

上传开户许可证

法人身份证号

上传法人身份证正面

上传法人身份证反面

出入金银行信息

中国工商银行

开户银行仅限工行 支行信息 银行账户 开户人姓名

技术信息

公众号原始ID 负责人邮箱 负责人手机

以上信息确认无误
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
黄舟

1、控制器代码请贴全
2、这缩进逼死强迫症
现有的代码片段里可以看到的错误,不应该用M('order'),应该用D('order'),前者实例化的时model类,后者实例化的才是orderModel类

PHPz

楼上说的没错,自动验证,要用D函数,仔细看文档,可以先仿照文档上来

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号