gpt4 book ai didi

php - 在Codeigniter中使用Ajax登录( Controller 和模型无法执行查询数据库)

转载 作者:行者123 更新时间:2023-11-29 18:46:16 25 4
gpt4 key购买 nike

我有一个 View ,它将使用 Ajax jquery 发送登录数据,如下所示: View /Login.php

I have a View that will send Login data with Ajax jquery as follows :
views/login.php

<!-- begin snippet: js hide: false console: true babel: false -->

这会将用户名和密码发送到模型登录/insert_login Controller /Login.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

public function __construct ()
{
parent::__construct();
$this->load->model('Login_Model');
}

public function index ()
{
$this->load->view('Login');
}

public function insert_login ()
{
$user = $this->input->post('user');
$pass = $this->input->post('pass');

$cekUser = $this->Login_Model->check_user($user);

if (empty($cekUser->username)) {
$sts = 'user_wrong';
}else{
if (md5($pass) != $cekUser->password) {
$sts = 'pass_wrong';
}else{
if ($cekUser->tipe_user == 'admin'){
$sts = 'success_admin';
$this->session->set_userdata(array('user'=>$user,'status'=>'admin'));
redirect(base_url('Admin/Home'));
}else{
$sts = 'success_user';
$this->session->set_userdata(array('user'=>$user,'status'=>'user'));
redirect(base_url('Admin/Home'));
}
}
}

echo '{"status":"'.$user.'"}';
}

public function logout ()
{
$this->session->sess_destroy();
redirect(base_url('Admin/Login'));
}

}
?>

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login_Model extends CI_Model {

public function check_user ($user)
{
return $this->db->get_where('m_user', array('username' => $user))->row();
}

}
?>

我想知道为什么查询数据库函数 get_where/query/Any 查询无法执行,但我在autoload.php中添加了Library Database:$autoload['libraries'] = array('数据库',' session '),而且我测试使用登录 Controller 以外的 Controller 仍然可以运行。为什么仅在模型&登录 Controller 中无法执行查询?

但是如果我尝试显示捕获的数据 divariabel:

    $user = $this->input->post('user');
$pass = $this->input->post('pass');
echo $user.' '.pass;

当我测试它已经可以获取并显示数据时,tapi masalahnya kenapa ketika memunculkan 查询 tidak muncul apapun。请帮帮我,我真的很累,每天熬夜清理我的工作......

最佳答案

将数据设置到 Controller 文件中的数组

将数组键的名称设置为数据库字段名称用户名密码

Controller 文件

  $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();
}

}

关于php - 在Codeigniter中使用Ajax登录( Controller 和模型无法执行查询数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44622590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com