致命错误:使用codeIgniter调用未定义的函数validation_errors() 这是我的 comments.php 视图
<?php echo validation_errors(); ?>
<?php echo form_open('news/comments'); ?>
Name <input type="text" name="comment_name"></input><br />
Email <input type="text" name="comment_email"></input><br />
Comment<input type="text" name="comment_body"></input><br />
<input type="submit" name="submit" value="Comment it" ></input>
</form>
这是我的 news_model.php
<?php
class News_model extends CI_Model {
public function __construct()
{
$this->load->database();
}
//set comment
public function set_comment()
{
$this->load->helper('url');
$this->load->helper('date');
$data_c = array(
'comment_name' => $this->input->post('comment_name'),
'comment_email' => $this->input->post('comment_email'),
'comment_body' => $this->input->post('comment_body'),
);
return $this->db->insert('comments', $data_c);
}
}
这是我的控制器 news.php
<?php
class News extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('news_model');
}
public function create_comment()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('comment_name', 'comment_name', 'required');
$this->form_validation->set_rules('comment_email', 'comment_email', 'required');
$this->form_validation->set_rules('comment_body', 'comment_body', 'required');
if ($this->form_validation->run() === FALSE)
{
echo 'failed'; //just for debugging
}
else
{
$this->news_model->set_comment();
$this->load->view('news/success');
}
}
}
routes.php 中的
$route['news/comments'] = 'news/comments';
如何解决?由于致命错误,无法将数据插入数据库。
答案 0 :(得分:10)
我没有看到你在任何地方加载validation_form库 - 你确定它已加载吗?
在自动加载中,或者:
$this->load->library('form_validation');
答案 1 :(得分:0)
我是整个编程工作的新手。 我想HTML输入字段应该有标签ID。因此模型中的数组可以读取它们。
Name <input type="text" id="comment_name" name="comment_name"></input><br />
Email <input type="text" id="comment_email" name="comment_email"></input><br />
Comment<input type="text" id="comment_body" name="comment_body"></input><br />