如何使用控制器功能中的表单输入来输入验证码,以确保CodeIgniter中的表单提交(不是验证,而是验证)



这是我的控制器页面:

function saveNewForm()
{
//----------- verifying code-------------------------
$transactionCode = 0010; // any secret code
echo "
<input type='text' name='value'>
<input type='submit' name='submit'>
";
if($this->input->post('value') == $transactionCode){
//----------- posting data from view--------------------
$form = $this->input->post();
$data = $form;
$this->load->model('user_model');
$result = $this->user_model->saveNewTransaction($data);
redirect('transactions');
}
}

我知道if语句中有一些错误,即我正在比较$this->input->post('value'),它实际上不是来自FORM,但它已经在控制器中了。

$form从视图页面获取数据,该页面也有一个form.

如何使这项工作顺利进行。

我想通过让用户输入密码提交表格来验证用户。

我曾尝试在表单中使用onsubmit,但这段代码可以从浏览器上的inspect元素中删除,不幸的是,用户可以绕过它。

我这样做是为了安全起见,这样我就可以尽量减少用户使用各种技术对数据进行更改的次数。

我不确定,但你可以试试这个代码

function saveNewForm()
{
$transactionCode = 0010; // any secret code
echo "
<form action='' method='post'>
<input type='text' name='value'>
<input type='submit' name='submit'>
</form>
";
if(!empty($this->input->post('value')){
if($this->input->post('value') <> $transactionCode){
exit();
}
}
$form = $this->input->post();
$data = $form;
$this->load->model('user_model');
$result = $this->user_model->saveNewTransaction($data);
redirect('transactions');

}

但当你点击提交时,帖子数据只有"值">

对于什么"$form=$this->input->post((;"?

最新更新