自定义codeigniter库未返回数据
我制作了一个codeigniter用户登录库,但遇到了一个小问题。当我登录时,它不会返回库中的任何函数,如自定义codeigniter库未返回数据,codeigniter,Codeigniter,我制作了一个codeigniter用户登录库,但遇到了一个小问题。当我登录时,它不会返回库中的任何函数,如$this->get_user_username() 在我的仪表板上,我应该能够执行echo$this->user->get_user_username() 我想我知道问题是因为if($this->validate_password($password)){在查询周围。然后停止 我将返回任何数据。 注意:我只希望能够在正在工作的会话中设置用户id。只需将其他id作为变量等返回即可 问题因为我
$this->get_user_username()代码>
在我的仪表板上,我应该能够执行echo$this->user->get_user_username()
我想我知道问题是因为if($this->validate_password($password)){在查询周围。然后停止
我将返回任何数据。
注意:我只希望能够在正在工作的会话中设置用户id。只需将其他id作为变量等返回即可
问题因为我在登录时使用了if($this->validate_password($password)){
,一旦登录,它会阻止我检索任何数据,最好的解决方案是什么,所以我仍然可以使用它并检索我的数据
正如我所说,我只想设置用户id
在会议中
仪表板控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dashboard extends MX_Controller {
public function __construct() {
parent::__construct();
$this->load->library('admin/user');
}
public function index()
{
echo $this->user->get_user_username();
print_r($_SESSION);
$data['top_navbar'] = Modules::run('admin/common/top_navbar/index');
$data['column_left'] = Modules::run('admin/common/column_left/index');
$data['header'] = Modules::run('admin/common/header/index');
$data['footer'] = Modules::run('admin/common/footer/index');
$this->load->view('common/dashboard_view', $data);
}
}
问题解决了我想发布我自己的答案,我必须在用户库的构造区域中添加另一个部分才能使它工作
然后使用会话userdata进行where检查
public function __construct() {
$this->CI =& get_instance();
if ($this->CI->session->userdata('user_id') == TRUE) {
$this->CI->db->where('user_id', $this->CI->session->userdata('user_id'));
$user_query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($user_query->num_rows() > 0) {
$row = $user_query->row();
$this->user_id = $row->user_id;
$this->user_group_id = $row->user_group_id;
$this->username = $row->username;
$this->firstname = $row->firstname;
$this->lastname = $row->lastname;
$this->email = $row->email;
return true;
} else {
return false;
}
}
}
图书馆
<?php
class User {
private $user_id;
private $username;
public function __construct() {
$this->CI =& get_instance();
if ($this->CI->session->userdata('user_id') == TRUE) {
$this->CI->db->where('user_id', $this->CI->session->userdata('user_id'));
$user_query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($user_query->num_rows() > 0) {
$row = $user_query->row();
$this->user_id = $row->user_id;
$this->user_group_id = $row->user_group_id;
$this->username = $row->username;
$this->firstname = $row->firstname;
$this->lastname = $row->lastname;
$this->email = $row->email;
return true;
} else {
return false;
}
} else {
$this->logout();
}
}
public function login($username, $password) {
if ($this->validate_password($password)) {
$this->CI->db->where('username', $username);
$user_query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($user_query->num_rows() > 0) {
$row = $user_query->row();
$this->CI->session->set_userdata(array('user_id' => $row->user_id));
$this->user_id = $row->user_id;
$this->user_group_id = $row->user_group_id;
$this->username = $row->username;
$this->firstname = $row->firstname;
$this->lastname = $row->lastname;
$this->email = $row->email;
return true;
} else {
return false;
}
} else {
return false;
}
}
public function logout() {
$this->CI->session->unset_userdata('user_id');
$this->user_id = '';
$this->username = '';
}
public function get_user_id() {
return $this->user_id;
}
public function get_user_group_id() {
return $this->user_group_id;
}
public function get_user_username() {
return $this->username;
}
public function get_user_firstname() {
return $this->firstname;
}
public function get_user_lastname() {
return $this->lastname;
}
public function get_user_email() {
return $this->email;
}
public function validate_password($password) {
if (password_verify($password, $this->stored_hash())) {
return $password;
} else {
return false;
}
}
public function stored_hash() {
$this->CI->db->where('username', $this->CI->input->post('username'));
$query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($query->num_rows() > 0) {
$row = $query->row();
return $row->password;
} else {
return false;
}
}
}
<?php
class User {
private $user_id;
private $username;
public function __construct() {
$this->CI =& get_instance();
if ($this->CI->session->userdata('user_id') == TRUE) {
$this->CI->db->where('user_id', $this->CI->session->userdata('user_id'));
$user_query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($user_query->num_rows() > 0) {
$row = $user_query->row();
$this->user_id = $row->user_id;
$this->user_group_id = $row->user_group_id;
$this->username = $row->username;
$this->firstname = $row->firstname;
$this->lastname = $row->lastname;
$this->email = $row->email;
return true;
} else {
return false;
}
} else {
$this->logout();
}
}
public function login($username, $password) {
if ($this->validate_password($password)) {
$this->CI->db->where('username', $username);
$user_query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($user_query->num_rows() > 0) {
$row = $user_query->row();
$this->CI->session->set_userdata(array('user_id' => $row->user_id));
$this->user_id = $row->user_id;
$this->user_group_id = $row->user_group_id;
$this->username = $row->username;
$this->firstname = $row->firstname;
$this->lastname = $row->lastname;
$this->email = $row->email;
return true;
} else {
return false;
}
} else {
return false;
}
}
public function logout() {
$this->CI->session->unset_userdata('user_id');
$this->user_id = '';
$this->username = '';
}
public function get_user_id() {
return $this->user_id;
}
public function get_user_group_id() {
return $this->user_group_id;
}
public function get_user_username() {
return $this->username;
}
public function get_user_firstname() {
return $this->firstname;
}
public function get_user_lastname() {
return $this->lastname;
}
public function get_user_email() {
return $this->email;
}
public function validate_password($password) {
if (password_verify($password, $this->stored_hash())) {
return $password;
} else {
return false;
}
}
public function stored_hash() {
$this->CI->db->where('username', $this->CI->input->post('username'));
$query = $this->CI->db->get($this->CI->db->dbprefix . 'user');
if ($query->num_rows() > 0) {
$row = $query->row();
return $row->password;
} else {
return false;
}
}
}