Php 使用codeigniter和ajax检查数据库中是否存在用户名函数
如何使用ajax和CodeIgniter检查我的数据库中是否有用户名?我设法创建了一个函数,没有空字段,也没有无效的电子邮件。现在我唯一不能完成的功能是在数据库中存在用户名 功能:当一些人试图创建用户名时,我希望ajax向我显示一条消息,并且输入的用户名已经存在于系统中 功能注册新用户{ var frstname=document.getElementById'first_name'。值; var lstname=document.getElementById'last_name'。值; var uemail=document.getElementById'user_email'。值; var uname=document.getElementById'user\u name'。值; var upasswd=document.getElementById'user\u password'。值; 如果frstname==| | lstname==| | uemail==| | uname==| | upasswd=={ 警告“所有字段均为必填字段”; $'add_new_user_mod'。模式'hide'; 重定向“管理员/欢迎/用户”; }Php 使用codeigniter和ajax检查数据库中是否存在用户名函数,php,jquery,ajax,codeigniter,codeigniter-3,Php,Jquery,Ajax,Codeigniter,Codeigniter 3,如何使用ajax和CodeIgniter检查我的数据库中是否有用户名?我设法创建了一个函数,没有空字段,也没有无效的电子邮件。现在我唯一不能完成的功能是在数据库中存在用户名 功能:当一些人试图创建用户名时,我希望ajax向我显示一条消息,并且输入的用户名已经存在于系统中 功能注册新用户{ var frstname=document.getElementById'first_name'。值; var lstname=document.getElementById'last_name'。值; va
如果uemail.indexOf'@'在前端和后端都进行验证是明智的,而我反对从用户体验的角度使用警报 考虑到这一点,我将实现表单验证,这将解决两个问题:后端检查,因为客户端永远不可信,以及确保用户名唯一 比如说
function add_new_user() {
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'required');
// ^ do the same for your other fields
$this->form_validation->set_rules('username', 'Username', 'required|is_unique[users.username]'); // is_unique `table_name`.`username field`
if (!$this->form_validation->run()) {
echo json_encode(['status' => 'error', 'msg' => validation_errors()]);
}
// post stuff to database
echo json_encode(['status' => 'success', 'msg' => '']);
}
js看起来像:
$.ajax({
url: "<?php echo base_url() . 'index.php/admin/Welcome/add_user_new'; ?>",
data: 'name=' + frstname + '&lastname=' + lstname + '&email=' + uemail + '&username=' + uname + '&password=' + upasswd,
async: false,
type: "POST",
dataType: 'json',
success: function (data) {
if (data.status == 'success') {
$('#add_new_user_mod').modal('hide');
alert('User added successfully');
window.location = "<?php echo base_url() . 'index.php/admin/Welcome/users'; ?>";
} else {
alert(data.msg);
}
}
});
您正在混合CI和JS。检查控制器和模型中是否已存在用户名的代码在哪里?其次,请使用中数据的正确格式Ajax@DanishAli我在任何地方都看不到…@Alex我认为这行代码重定向了'admin/Welcome/users';他可能有一个js函数用于此,否则它确实是一个混合体