网站建站方式广州百度关键词排名
修改网站源码,给电子商城的商品添加图片时商品id为0的原因。花了几个小时查找原因。后来,由于PictureControl.class.php是复制CourseControl.class.php而来,于是对比了这两个文件,在CourseControl.class.php找到了不一样的关键几条语句:
        if(IS_POST){
             $data = [
                 'title' => I('title','post','html'),                //标题
                 'category_id' => I('category_id','post','id'),        //栏目ID
                 'price' => I('price','post','float'),                //价格
                 'show' => I('save','post','bool') ? 'no' : 'yes',    //是否发布
                 'content' => I('content','post','string'),            //内容
             ];
在PictureControl.class.php这几条语句改成了这样:
        if(IS_POST){
             //查出原来图片url
             //给$data['course_id']赋值
             $data = [
                 'url' => ($this->id)?$Picture->select('url', ['id'=>$this->id], 'fetchColumn'):'',
                 'course_id' =>  I('course_id', 'get', 'id'),
                 'title' => I('title', 'get', 'html'),
                 'sort' => I('sort', 'get', 'int')
             ];
后来,将PictureControl.class.php这几条语句的get改成post,解决了该问题。
原因是这样的,修改代码时,删除了一些代码,然后再参考新文件上方的代码添加了这几行代码,上方代码使用了get,新添加的代码照抄了上方的部分代码。添加以后没有仔细考虑,从而导致了该问题。get方式是通过url传递参数,post方式是通过表单传递参数。

