所以我开始了我的第一个 CodeIgniter 项目,我还在学习很多东西。现在我已经制作了这个用户注册页面。
当用户填写注册表单并按下提交时,将触发以下功能:
/**
* Signup validation
*/
public function signup_validation(){
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[users.email]');
$this->form_validation->set_rules('password', 'Password', 'required|trim');
$this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');
$this->form_validation->set_message('is_unique', "That email address is already is use");
if($this->form_validation->run()){
$this->load->model('model_users');
if ($this->model_users->add_user()){
echo "user has been added";
} else {
echo "Something went wrong";
}
$this->model_users->add_user();
} else {
$this->load->view('view_signup');
}
}
然后这个函数调用“model_users”并运行函数“add_user”:
public function add_user(){
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password')
);
$query = $this->db->insert('users', $data);
if ($query){
return true;
} else {
return false;
}
}
所以这段代码很好地添加了数据库中的数据。验证效果很好。但由于某种原因,它会将每个用户添加两次。我试图找出导致此问题的原因,但我似乎无法找出原因。
我还创建了另一小段代码,您可以在其中将页面类别添加到数据库中,代码非常相似,但不会发布两次。