这是我的控制器页面:
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((;"?