CodeIgniter 示例创建新闻条目 - 创建一个表单

为了向数据库里输入数据,你需要创建一个表单来输入需要被存储的信息。

这就是说你需要一个带两个输入域的表单,一个用来输入标题,一个用来输入内容。另外,你可以通过数据模型中的标题来取得slug。

在 application/views/news/create.php 创建一个新的视图。[code]

Create a news item

<?php echo validation_errors(); ?> <?php echo form_open('news/create') ?>

Title


Text


[/code]这里只有两个东西可能你不熟悉,一个是 form_open() 函数,一个是 validation_errors() 函数。

第一个由 表单辅助函数 提供,用来提供表单元素和一些额外功能,例如添加隐藏的 安全类。第二个用来报告表单验证中出现的错误信息。

回到新闻控制器,在这里你需要做两件事,一件是检查表单是否被提交了,另一件是检查提交的数据是否能够通过验证规则。你需要用到 表单验证 库来做这些。[code]public function create()
{
$this->load->helper(‘form’);
$this->load->library(‘form_validation’);

$data[‘title’] = ‘Create a news item’;

$this->form_validation->set_rules(‘title’, ‘Title’, ‘required’);
$this->form_validation->set_rules(‘text’, ‘text’, ‘required’);

if ($this->form_validation->run() === FALSE)
{
$this->load->view(‘templates/header’, $data);
$this->load->view(‘news/create’);
$this->load->view(‘templates/footer’);

}
else
{
$this->news_model->set_news();
$this->load->view(‘news/success’);
}
}[/code]上面的代码中添加了一些功能,前几行载入了表单辅助函数和表单验证库,这样,表单验证的规则就被设定好了。

set_rules() 方法包含三个参数,第一个是输入域的名称,第二个是错误信息的名称,第三个是错误信息的规则——在这里的规则是输入内容的文本域必填。

正如上面所展示的,CodeIgniter拥有一个强大的表单验证库。你可以 从这里了解到这个库的更多内容。

继续,你会看到一个用来检查表单验证是否运行成功的条件。如果没有成功,显示表单,如果提交成功并且通过了验证,则会调用数据模型。

这之后会加载一个显示成功信息的视图。在这里 application/view/news/success.php 创建一个新的视图用来显示成功信息。