本人这几天在搞公司在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成功的,可我加了后,点击那页面发现直接显示成功了,根本没给我填表单的机会。
好,现在说表单
我感觉你可以去翻翻thinkphp2.0的手册看看
function add_info() { if(IS_POST) { $db= M(); $db->create(); $db->add(); $this->success('添加成功',U('index')); }else{ $this->display(); } }
如何,能否解决?
回楼上的,我就这么写的,这是在服务器上,没安装编辑器
链接那会,是照着原来网站写的
dislay的地方放对的话,蹦的页面是正常的
1.首先判断控制器方法是否接受到数据,可以echo或者var_dump看结果;
2.如果add方法不行,可以用原生的sql语句试试。
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语句,没字段,或者字段被过滤,直接生成一条默认值的数组。
谢谢邀请。额……这个,初用TP就是3.2的,这个低版本的还真没用过。不过感觉写法和3.2的差不多啊!