php - 求助大神一个TP2.0的简单问题,实在是网上查不到资料,谢谢!

 手机用户2502853447_666 发布于 2022-11-30 01:31

本人这几天在搞公司在2011年开发的一个tp2.0的网站,我其实tp也算比较熟练掌握,可那指的是3。2版本以后,我看了公司网站代码后,才悲哀的发现,我好像连基本的增删改查都不会了,把源码和图片发上来,请高人帮忙看下我写错在哪里了

再次更新,把我这个网站,开发者写的增删改查截图出来,大家看看,在最下面.还是没解决,有人有2.0版本的项目吗?发个看看呗

首先这是我的添加方法代码:
public function add(){
if(isPost){

$model=M('Bcast');
$data['author']=$_POST['author'];
$data['title']=$_POST['title'];
$data['desc']=$_POST['desc'];
$data['url']=$_POST['url'];
$data['image']=$_POST['image'];
$model->data($data)->add();
$this->display();

}
}
就这么简单的一段代码,在2.0版本下就搞死我了

一:我不知道该把$this->display();放哪里;3.2后我可以在不是post后,else写这个,可这个版本,我试了,这样的话完全不能显示

二:我add后,原先准备添加success成功的,可我加了后,点击那页面发现直接显示成功了,根本没给我填表单的机会。

好,现在说表单

上面这是我表单里写的,我建了一个叫BcastAction.class.php的页面,然后在里面新建了个上面那方法,继承也写的和别的action一样,解析出来截图如下

就这么多,我点击
提交

后,根本插不进我的Bcast表里,字段也完全对应的。

大神们,这问题我究竟哪里做错了啊?

我试着打印过,可只要打印的话,进那页面就是打印出来的东西,根本不能在提交后打印,我不写那display的话压根看不见页面

谢谢指教!

这个应该是添加,写成这样真是见鬼了,看不明白,这明显就是把分类assign到页面了,但我确定添加时是这个方法,因为我看左下角链接了

所以我找了另一个更像插入信息的方法,但让我疑惑的是,他咋没有display呢?不过我确实找不到这链接

他这个没链接,所以不需要写display吗?add有链接所以肯定要display的,可那add方法为什么压根没一句添加的代码啊?
费解死我了

6 个回答
  • 我感觉你可以去翻翻thinkphp2.0的手册看看

    2022-11-30 02:49 回答
  • function add_info()
        {
            if(IS_POST)
            {
                $db= M();
                $db->create();
                $db->add();
                $this->success('添加成功',U('index'));
            }else{
                $this->display();
            }
        }

    如何,能否解决?

    2022-11-30 02:49 回答
  • 回楼上的,我就这么写的,这是在服务器上,没安装编辑器

    链接那会,是照着原来网站写的

    dislay的地方放对的话,蹦的页面是正常的

    2022-11-30 02:49 回答
  • 1.首先判断控制器方法是否接受到数据,可以echo或者var_dump看结果;
    2.如果add方法不行,可以用原生的sql语句试试。

    2022-11-30 02:49 回答
  • public function add(){

    echo '<pre>';
    var_dump($_POST);
    die();
    if(isPost){
    
        $model=M('Bcast');
        $data['author']=$_POST['author'];
        $data['title']=$_POST['title'];
        $data['desc']=$_POST['desc'];
        $data['url']=$_POST['url'];
        $data['image']=$_POST['image'];
           echo '<pre>';
            var_dump($data);
            die();
        $model->data($data)->add();
        $this->display();
    }

    }
    上面你调两次试试
    浏览器开f12,看看network,的返回值
    你说插入了,然后字段都是空。为什么呢?这个明显就是你执行的add语句,没字段,或者字段被过滤,直接生成一条默认值的数组。

    2022-11-30 02:49 回答
  • 谢谢邀请。额……这个,初用TP就是3.2的,这个低版本的还真没用过。不过感觉写法和3.2的差不多啊!

    2022-11-30 02:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有