这是我的控制器
function new_post(){
if($_POST){
$data=array(
'title'=>$_POST['title'],
'post'=>$_POST['post'],
'active'=>1);
$this->post->insert_post($data);
redirect('post/');
}
else {
$this->load->view('new_post');
}
}
这不起作用这个控制器很好, 的模型 这是只有它插入表单的模型。
function insert_post($data){
$this->db->insert('posts',$data);
return $this->db->insert_id();
}
如果我将其更改为
$data=array(
'title'=>$_POST['title'],
'post'=>$_POST['post'],
'active'=>1);
$this->post->insert_post($data);
然后它可以工作
我是否在第一个控制器上犯了任何错误,因为它没有插入......
此致
答案 0 :(得分:1)
尝试将条件更改为此值,以查看是否已设置值:
if(isset($_POST['title']) && isset($_POST['post']))
{ ...
我还要确保您正在加载model,正确引用它。
在CodeIgniter中,Input class允许您使用此功能访问POST
数据:
$this->input->post('title');
作为替代方案:
$_POST['title'];
存在一些差异,文档中对此进行了解释。
答案 1 :(得分:0)
尝试替换
redirect('post/');
与
header('Location:your_url');
重定向将立即重定向您,而不知道先前的语句已执行但不是标题();会这样做
我认为这是导致问题的原因
答案 2 :(得分:0)
将if($_POST){
更改为此
if($_POST['title'] && $_POST['post']){