ユーザー登録機能を実行するために ajax を使用しています。私はajaxを使用してユーザー情報をコントローラーに送信し、コントローラーはその情報をモデルに渡してデータベースに挿入します。
データベースにエントリが表示されたので、挿入は正常に行われました。ただし、私の ajax リクエストでは、常にエラーが返されます。
私が注目したのは、フィールドの 1 つを空のままにすると、成功が返されるということです。
以下の私のajaxスクリプト
var post_data =
{
'username':user_name,
'password':user_password,
'email':user_email,
'role':user_role
};
$.ajax({
type: "POST",
dataType: "json",
url:"login_register/register_data",
data: post_data,
success: function(data) {
alert('Insertion of user ok');
},
error: function(data)
{
alert('Insertion of user error ' + data.responseText);
}
});
私のコントローラーコード
public function register_data()
{
$this->load->database();
$this->load->model('login_model');
$user_name=$this->input->post('username');
$user_password=$this->input->post('password');
$user_email=$this->input->post('email');
$user_role=$this->input->post('role');
$result = $this->login_model->register_data_model($user_name,$user_password,$user_email,$user_role);
//if($result)
echo "true";
//else echo "false";
}
私のモデルコード
public function register_data_model($user_name,$user_password,$user_email,$user_role)
{
$result = $this->db->query("INSERT INTO user_table (user_name,user_password,user_email,user_role) VALUES (".$this->db->escape($user_name).",".$this->db->escape($user_password).",".$this->db->escape($user_email).",".$this->db->escape($user_role).")");
}
モデルとコントローラーから何も返さなくても、このように動作します。何が起こっているのか誰にも分かりますか?