这里以登录界面为例,演示codeigniter框架的表单辅助函数。
首先需要解决的一个问题是,如何将view中用户填写的数据提交给控制器。我在这里使用了表单辅助函数
$this->load->helper('form');
新建控制器,键入代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function __construct()
{
parent::__construct();
//引入表单辅助函数
$this->load->helper('form');
}
public function index()
{ //加载view
$this->load->view('login');
}
//获取表单数据进行处理
public function UserLogin() {
echo $_POST ['username'];
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录</title>
</head>
<?php echo form_open('login/UserLogin'); ?>
<div>
<table>
<tr>
<td>用户名</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>
<input type="submit" value="登录">
</td>
</tr>
</table>
</div>
</form>
</html>
代码中form标签只有结束没有开始。
其实不难想到,开始标签与第二行的php代码有关。
form_open函数会生成一个 form 起始标签,关于它的更多详情可以参考CI的用户手册,表单辅助函数那部分。
到这里为止,view已经顺利地把表单中的数据传输给了controller。效果如下↓