我在代码点火器中以三种方式检索表单输入?我不确定哪一个是正确的。我已经给出了这句话
$this->load->view('userview',$data);
这是正确的吗?从表单中输入数据的正确方法是什么?什么时候应该使用数组?
我还想知道记录是否已成功添加。在提交表格后,我必须使用哪种功能,我将把它放在哪里?
查看文件夹文件名userview.php
userview.php
<form name="f1" action="" method="post"/>
<table width="500" border="1">
<tr>
<td>UserName</td>
<td>:</td>
<td><input type="text" name="username" value=""/></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="password" value=""/></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input type="text" name="email" value=""/></td>
</tr>
<tr>
<td colspan="3"><input type="submit" name="submit" value="Save"/></td>
</tr>
</table>
</form>
首先创建数组并存储到变量中:
public function index()
{
$data = array();
if($this->input->post('submit') != NULL ){
$postData = $this->input->post();
$data['response'] = $postData;
}
$this->load->view('userview',$data);
}
第二个:数组中检索到的输入变量
public function index()
{
$data['response']=array('username' => $this->input->post('username'),
'password' => $this->input->post('password'),
'email' => $this->input->post('email'));
$this->load->view('userview',$data);
}
第三:在索引函数中创建一个方法。
public function index()
{
$this->load->view('userview');
$this->getvalue();
}
public function getvalue()
{
if($this->input->post('submit')!==null)
{
$data['response']=array('username' => $this->input->post('username'),
'password' => $this->input->post('password'),
'email' => $this->input->post('email'));
$this->load->view('viewuser',$data);
}
}
发布于 2018-12-23 08:04:51
所有这些都是可以的,当我有多个字段时,我个人使用以下内容:
$UserDetails = $this->input->post(['username', 'email', 'password']);
这将返回一个键=>值对数组,该数组包含我只需要的3个字段。
在第一个示例中,您可能会返回不需要的额外字段。你的第二个例子对我来说非常详细,但没关系。第三个例子对我的口味来说也很详细,但没关系。
我将使用表单验证,而不是手动检查表单是否已张贴。
$data = [];
$form_validation = array(
['field' => 'username', 'label' => 'Username', 'rules' => 'trim|required'],
['field' => 'email', 'label' => 'Email', 'rules' => 'trim|required|email'],
['field' => 'password', 'label' => 'Password', 'rules' => 'trim|required'],
);
$this->form_validation->set_rules($form_validation);
if ( $this->form_validation->run() === false ) {
// set some error messages here
}else{
// get data here
$data['UserDetails'] = $this->input->post(['username', 'email', 'password']);
}
// pass data to view ??
$this->load->view('view', $data)
发布于 2018-12-23 05:29:28
给你:
表单验证:validation.html
输入类:https://www.codeigniter.com/userguide3/libraries/input.html
表格助手:helper.html
祝你好运:)
https://stackoverflow.com/questions/53903174
复制