我正在尝试使用codeigniter将数据添加到数据库。我已经使用主动方法设置了一个注册页面,并尝试使用相同的方法来添加新闻表单,但未成功。使用codeigniter将数据添加到数据库中
当我点击提交它说的网页无法找到,网址显示控制器的功能名称。当我故意留下任何字段为空时,这也是一样的。我检查了我的数据库,没有添加记录,也没有记录php错误。
这里是我的代码片段:
查看:
<?php echo form_open('add/add_article'); ?>
<?php echo form_input('title', set_value('title', 'Title')); ?><br />
<?php echo form_textarea('content', set_value('content', 'Content')); ?><br />
<?php echo form_input('author', set_value('author', 'Author')); ?>
<?php echo form_submit('submit', 'Add Article'); ?>
<?php echo validation_errors('<p class="error">');?>
<?php echo form_close(); ?>
控制器:
class Add extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->load->view('admin/add');
}
public function add_article() {
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'Title', 'trim|required');
$this->form_validation->set_rules('content', 'Content', 'trim|required');
$this->form_validation->set_rules('author', 'Author', 'trim|required');
if($this->form_validation->run() == FALSE) {
$this->index();
}else{
$this->load->model('news_model');
if($query = $this->news_model->addArticle()) {
$this->load->view('news');
}else {
$this->load->view('news');
}
}
}
}
型号:
public function __construct() {
parent::__construct();
}
function addArticle() {
$data =array(
'title' => $this->input->post('title'),
'content' => $this->input->post('content'),
'author' => $this->input->post('author'),
'username' => $this->input->post('username'));
$insert = $this->db->insert('news', $data);
return $insert;
}
}
你在表单的源代码中看到了什么? –
在源文件中,我知道该动作是针对add控制器和add_article函数的,当它提交时它只显示:localhost/codeigniter/add/add_controller,然后找不到页面,是什么意思?我也尝试在if语句中的控制器中使用重定向。 – Shimsham84
试试'echo form_open('index.php/add/add_article');' –