我只想告诉用户使用AngularJS或AJAX或者JQuery,或者最简单的方法,用户名和电子邮件已经注册。
我已经为其他检查实现了AngularJS,而不是需要php的那些。
这是我的php函数:
public function user_exists() {
$username = $this->db->escape($this->input->post('username'));
$data = array(
'username' => $username,
'email' => $this->db->escape($this->input->post('email')),
'password' => crypt($this->db->escape($this->input->
post('password'))),
'user_id' => md5('I really like pie, '. $username)
);
$does_user_exist = "SELECT COUNT(`user_id`) FROM `users` WHERE
`username` = " . $data['username'] . " || `email` = " .
$data['email'] . "";
$query = $this->db->query($does_user_exist);
if($query->num_rows() > 0) {
return true;
}
}
请,谢谢你。
答案 0 :(得分:0)
为什么在方法中使用$data
数组?要检查是否存在用户,您需要使用MVC架构和类似的代码。
对于型号:
class User_Model extends CI_Model
{
public function is_exists($username, $email)
{
$this->db->select('user_id');
$this->db->where(array(
'username' => $username,
'email' => $email
));
$this->db->limit(1);
return $this->db->get('users')->row('user_id');
}
}
此控制器代码:
class User extends CI_Controller
{
public function is_exists()
{
$email = $this->input->post('email');
$username = $this->input->post('username');
$this->load->model('user_model');
if(!$this->user_model->is_exists($username, $email))
{
$result = array('status' => 200, 'message' => 'Username and email are free');
}
else
{
$result = array('status' => 400, 'reason' => 'User already exists');
}
echo json_encode($result);
}
}
Ajax查询:
$.ajax({
url: 'user/is_exists',
type: 'POST',
dataType: 'JSON',
data: {username: username, email: email},
success: function(data, status, jqXHR){
if(data.status == 200){
alert(data.message);
}
else{
alert(data.reason);
}
}
});
您需要从注册表单中获取
答案 1 :(得分:0)
当用户点击注册表单上的提交按钮时,使用jQuery中的$ .post()提交它。表单的action属性应映射到适当的控制器/方法。您调用的方法可以返回JSON编码的消息以在浏览器中显示。
看起来像这样:
$(function() {
$('#registration', 'input[type="submit"]').on('click', function(event) {
event.preventDefault();
var action = $(this).closest('form').attr('action');
var form = $(this).closest('form').serialize();
$.post(action, form, function(data) {
alert(data.message);
});
});
});
在上面的示例中,表单的ID是#registration。 JS var'data'是PHP方法返回的JSON对象,'message'是该对象的属性,包含要显示给用户的消息。