当我设置
$config['global_xss_filtering'] = FALSE; and $config['csrf_protection'] = FALSE;
在application / config / config.php中然后将输入成功输入数据库。但是当我将它们设置为True时,数据库不接受这些值,即条目没有添加到数据库中。任何人都可以帮忙吗? / p>
controller-function:验证和加载模型
function __construct(){
parent::__construct();
$this->load->database();
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('form_validation');
}
function validate(){
$config=array(
array('field'=>'First_name',
'label'=>'firstname',
'rules'=>'trim|required|htmlspecialchars'),
array('field'=>'Last_name',
'label'=>'lastname',
'rules'=>'trim|required'),
array('field'=>'Password',
'label'=>'password',
'rules'=>'trim|required'),
array('field'=>'Re-password',
'label'=>'re-password',
rules'=>'trim|required'),
array('field'=>'Email',
'label'=>'email',
'rules'=>'trim|required|valid_email|is_unique[users.email]')
);
$this->form_validation->set_rules($config);
if($this->form_validation->run()==False){
echo validation_errors();
}
else{
$this->load->model("v/register","foo");
$p=$this->foo->registeration();
}
}
模型类
class register extends CI_Model
{
function __construct(){
parent::__construct();
$this->load->helper('form');
$this->load->library('form_validation');
}
function registeration(){
$data=array(
'First_name'=>$_POST['First_name'],
'Last_name'=>$_POST['Last_name'],
'Username'=> NULL,
'Email'=>$_POST['Email'],
'Password'=>$_POST['Password']
) ;
$this->db->insert('users',$data);
}
}
我使用的是html标签而不是form_open() 我正在使用ajax.controller调用控制器表单视图加载模型
答案 0 :(得分:1)
使用
打开表单echo form_open('controller/method');
这将生成带有唯一令牌的隐藏输入。使用不会
另外,使用
获取输入'First_name'=>$this->input->post('First_name')
不要使用
'First_name'=>$_POST['First_name']