本人这几天在搞公司在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成功的,可我加了后,点击那页面发现直接显示成功了,根本没给我填表单的机会。
好,现在说表单
<form action="__URL__/add" method="post" enctype="multipart/form-data">
上面这是我表单里写的,我建了一个叫BcastAction.class.php的页面,然后在里面新建了个上面那方法,继承也写的和别的action一样,解析出来截图如下

就这么多,我点击
<input type="submit" class="btn">提交</button>
后,根本插不进我的Bcast表里,字段也完全对应的。

大神们,这问题我究竟哪里做错了啊?
我试着打印过,可只要打印的话,进那页面就是打印出来的东西,根本不能在提交后打印,我不写那display的话压根看不见页面
谢谢指教!

这个应该是添加,写成这样真是见鬼了,看不明白,这明显就是把分类assign到页面了,但我确定添加时是这个方法,因为我看左下角链接了
所以我找了另一个更像插入信息的方法,但让我疑惑的是,他咋没有display呢?不过我确实找不到这链接

他这个没链接,所以不需要写display吗?add有链接所以肯定要display的,可那add方法为什么压根没一句添加的代码啊?
费解死我了
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我感觉你可以去翻翻thinkphp2.0的手册看看
如何,能否解决?
回楼上的,我就这么写的,这是在服务器上,没安装编辑器
链接那会,是照着原来网站写的
dislay的地方放对的话,蹦的页面是正常的
1.首先判断控制器方法是否接受到数据,可以echo或者var_dump看结果;
2.如果add方法不行,可以用原生的sql语句试试。
public function add(){
}
上面你调两次试试
浏览器开f12,看看network,的返回值
你说插入了,然后字段都是空。为什么呢?这个明显就是你执行的add语句,没字段,或者字段被过滤,直接生成一条默认值的数组。
谢谢邀请。额……这个,初用TP就是3.2的,这个低版本的还真没用过。不过感觉写法和3.2的差不多啊!