这是我的控制器
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);
我是否在第一个控制器上做了任何错误因为它没有插入....
对
尝试更改条件,以查看值是否已设置:
if(isset($_POST['title']) && isset($_POST['post']))
{ ...
我也会确保你正在加载你的模型,正确地引用它。
在CodeIgniter中,Input类允许您使用以下函数访问POST
数据:
$this->input->post('title');
作为替代:
$_POST['title'];
有一些不同之处,在文档中有解释
尝试替换
redirect('post/');
header('Location:your_url');
redirect会在不知道前面的语句已经执行的情况下立即重定向你,除非是header();会这样做的
我认为这是导致问题的原因
change if($_POST){
to this
if($_POST['title'] && $_POST['post']){