Php 在Codeigniter中使用Ajax登录(控制器和模型无法执行查询数据库)
我有一个使用Ajax jquery发送登录数据的视图,如下所示: views/Login.phpPhp 在Codeigniter中使用Ajax登录(控制器和模型无法执行查询数据库),php,jquery,mysql,ajax,codeigniter,Php,Jquery,Mysql,Ajax,Codeigniter,我有一个使用Ajax jquery发送登录数据的视图,如下所示: views/Login.php 我有一个视图,它将使用Ajax jquery发送登录数据,如下所示: views/login.php 将数据设置到控制器文件中的数组中 $user = $this->input->post('user'); $pass = $this->input->post('pass'); $where=array('username'=>$user,
我有一个视图,它将使用Ajax jquery发送登录数据,如下所示:
views/login.php
将数据设置到控制器文件中的数组中
$user = $this->input->post('user');
$pass = $this->input->post('pass');
$where=array('username'=>$user,
'password'=>md5($pass));
$cekUser = $this->Login_Model->check_user($where);
将数组键的名称设置为数据库字段名username
&password
控制器文件
$user = $this->input->post('user');
$pass = $this->input->post('pass');
$where=array('username'=>$user,
'password'=>md5($pass));
$cekUser = $this->Login_Model->check_user($where);
在from
查询中为您提供表名
模型文件
class Login_Model extends CI_Model {
public function check_user ($where)
{
$this->db->select('*');
$this->db->from('table_name');
$this->db->where($where);
$res=$this->db->get();
return $res->result();
}
}
打印时显示的内容($user.'''.pass);您可以看到字段?出于安全目的,MD5被视为已断开,不足以进行密码散列。使用和代替。如果您使用的是5.5之前的PHP版本,则可以使用我只需检查数组中的用户名,我已经按照您的建议执行了,但是回显“{”status:“.”.$User.“}”;我的控制器:公共函数insert_login(){$user=$this->input->post('user');$pass=$this->input->post('pass');$where=array('username'=>$user);$cekUser=$this->login_Model->check_user($where);if(empty($cekUser->username)){$sts='user_error'}else{if(md5($pass)!=$cekUser->password){$sts='pass_error';}else{if($cekUser->tipe_user='admin'){$sts='success_admin';$this->session->set_userdata(数组('user'=>$user,'status'=>'admin'));}}我的模型:公共函数检查_user($where){$this->db->选择('*');$this->db->from_user'));$this->db->where($where);$res=$this->db->get();return$res->row();//我需要row result}所以在数组中只传递用户名,比如
$where=array('username'=>$user)代码>和模型类中的returnreturn$res->row()代码>感谢您的贡献,对不起,我的数据库配置错误,所以我的数据不会出现。