それで、私は最初の 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;
}
}
したがって、このコードはデータベースにデータを追加します。検証はうまく機能します。しかし、何らかの理由で、すべてのユーザーを 2 回追加します。この問題の原因を突き止めようとしましたが、理由がわからないようです。
ページカテゴリをデータベースに追加できる別の小さなコードも作成しました。コードは非常に似ていますが、2 回投稿することはありません。