[PHP]框架CodeIgniter中的表单教程
程序员文章站
2022-04-29 16:05:07
...
CodeIgniter的表单辅助函数:输入数据让我们把目光转向你如何使用你的HTML页。 任何动态的网 站最重要部份之一是和用户互动,而且这通常意味着使用HTML 表单。 CodeIgniter的表单辅助函数是非常有用的代码片断。 它有一个稍稍不同的定义,使表单创建起来比较
CodeIgniter的表单辅助函数:输入数据让我们把目光转向你如何使用你的HTML页。
任何动态的网站最重要部份之一是和用户互动,而且这通常意味着使用HTML表单。
CodeIgniter的表单辅助函数是非常有用的代码片断。
它有一个稍稍不同的定义,使表单创建起来比较容易。我们建立一个表单,这个表单允许我们在浏览器中录入数据。在websites数据库的sites表中,我们想要录入网站的名字、类型和网址,和更新的日期。
你能用简单的HTML代码建立表单,
或者你能在一个控制器内建立它,把它赋给一个变量,然后调用视图,而且传送该变量到视图。
下面是按照第二种方式做。
第一,我们必须装载表单辅助函数到我们需要使用它的控制器内。然后,我们把下列的代码放入控制器的构造函数:
$this->load->helper('form');
然后,我们必须开始编写表单。现在,为了生成表单的输入项,我们不用这样写:
$variable.='';
CI允许你这样做:
$variable.=form_input('name',''');
(记得'name'是输入项的名称,'value'是你想输入的内容。在这里可以设定value的初始值,或你能动态地从表单中获取。)嗯,你可能会说,48个字符变成33个字符,没少几个字符,特别是我必须先装载这个辅助函数(另外的28个字符)。何必呢?理由如下:
1、使用表单辅助函数的好处之一:清楚使用CI表单辅助函数的第一个好处是你的代码绝对的清
楚。如果你想要一个比较精细的输入框,如果用HTML是这样的:
$variable='';
(type是输入框的类型:text、hidden等等。name是将在$_POST数组中取得的变量名称。id是在网页上定
位这个输入框的标识符,如果你使用JavaScript的话。value是输入框里显示的值,它一开始是一个默认值,用户也
可以在输入一个新的值。maxlength和size是明显的;style一组HTML格式或者在css style sheet中定义。)
CI用一个数组代替上述的HTML代码:
$data=array( 'name' => 'url', 'id' => 'url', 'value' => 'www.mysite.com', 'maxlength' => '100', 'size' => '50', 'style' => 'yellow' ); $variable=form_input($data);
它看上去蛮长的,实际上并不比HTML代码长,而且,它非常清楚,容易理解和维护。而且是动态的。
隐藏的表单输入框非常简单。如果我们想要自动地记录我们的数据库被更新的日期。我们把日期放入一个$date变量,然后:
form_hidden('updated',$date);
如果你想要一个'文本'输入框,给你的使用者提供一个可以输入超过一行的地方,可以使用CI的form_textarea()函数,下面的代码使用默认的长度,在网页上显示一个文件输入框:
$data=array( 'name' =>'url', 'id' =>'url', 'value' =>'www.mysite.com' ); $variable=form_textarea($data);
CI的表单辅助函数在你编写下拉框,多选框和单选框时特别有用,如果我们要改变我们的URL输入框为一个下拉框,允许用户从下拉列表中选取一个URL。首先,把下拉列表的选项存入一个数组,然后调用form_dropdown()函数:
$urlarray=array( '1' =>'www.this.com', '2' =>'www.that.com', '3' =>'www.theother.com' ); $variable=form_dropdown('url',$urlarray,'1');
被传给表单中url下拉框的第一个参数是输入框的名字;第二个是包含下拉列表的数组,第三个默认选项。换句话说,如果使用者接受默认值,你的$_POST数组将会包含值'url=>1',但是你的用户将会见到选项'www.this.com'。
如果使用HTML代码编写: