Проблема при подключении библиотеки dx_auth ?
Доброго времени суток!
Следуя инструкциям урока 22 CodeIgniter, скачала исходный файл, распаковала, скопировала, внесла все изменения, а при попытке входа на сайт как "admin 123123" выводится следующая ошибка:
An uncaught Exception was encountered
Type: Error
Message: Cannot call constructor
Filename: C:\xampp\htdocs\kinomonster\application\models\dx_auth\Users.php
Line Number: 7
Backtrace:
File: C:\xampp\htdocs\kinomonster\application\libraries\DX_Auth.php
Line: 820
Function: model
File: C:\xampp\htdocs\kinomonster\application\controllers\Auth.php
Line: 79
Function: login
File: C:\xampp\htdocs\kinomonster\index.php
Line: 308
Function: require_once
Помогите разобраться пожалуйста
Filename: C:\xampp\htdocs\kinomonster\application\models\dx_auth\Users.php
Line Number: 7
5function __construct()
6 {
7 parent::__construct();
8
9 // Other stuff
10 $this->_prefix = $this->config->item('DX_table_prefix');
11 $this->_table = $this->_prefix.$this->config->item('DX_users_table');
12 $this->_roles_table = $this->_prefix.$this->config->item('DX_roles_table');
13 }
File: C:\xampp\htdocs\kinomonster\application\libraries\DX_Auth.php
Line: 820
Function: model
// Load Models
$this->ci->load->model('dx_auth/users', 'users');
$this->ci->load->model('dx_auth/user_temp', 'user_temp');
$this->ci->load->model('dx_auth/login_attempts', 'login_attempts');
File: C:\xampp\htdocs\kinomonster\application\controllers\Auth.php
Line: 79
Function: login
79 if ($val->run() AND $this->dx_auth->login($val->set_value('username'), $val->set_value('password'), $val->set_value('remember')))
80 {
81 // Redirect to homepage
82 redirect('', 'location');
83 }
File: C:\xampp\htdocs\kinomonster\index.php
Line: 308
Function: require_once
require_once BASEPATH.'core/CodeIgniter.php';
6 ответов
Нет, я только отрывок указала.
Вот весь:
<?php
class Users extends CI_Model
{
function __construct()
{
parent::__construct();
// Other stuff
$this->_prefix = $this->config->item('DX_table_prefix');
$this->_table = $this->_prefix.$this->config->item('DX_users_table');
$this->_roles_table = $this->_prefix.$this->config->item('DX_roles_table');
}
// General function
function get_all($offset = 0, $row_count = 0)
{
$users_table = $this->_table;
$roles_table = $this->_roles_table;
if ($offset >= 0 AND $row_count > 0)
{
$this->db->select("$users_table.*", FALSE);
$this->db->select("$roles_table.name AS role_name", FALSE);
$this->db->join($roles_table, "$roles_table.id = $users_table.role_id");
$this->db->order_by("$users_table.id", "ASC");
$query = $this->db->get($this->_table, $row_count, $offset);
}
else
{
$query = $this->db->get($this->_table);
}
return $query;
}
function get_user_by_id($user_id)
{
$this->db->where('id', $user_id);
return $this->db->get($this->_table);
}
function get_user_by_username($username)
{
$this->db->where('username', $username);
return $this->db->get($this->_table);
}
function get_user_by_email($email)
{
$this->db->where('email', $email);
return $this->db->get($this->_table);
}
function get_login($login)
{
$this->db->where('username', $login);
$this->db->or_where('email', $login);
return $this->db->get($this->_table);
}
function check_ban($user_id)
{
$this->db->select('1', FALSE);
$this->db->where('id', $user_id);
$this->db->where('banned', '1');
return $this->db->get($this->_table);
}
function check_username($username)
{
$this->db->select('1', FALSE);
$this->db->where('LOWER(username)=', strtolower($username));
return $this->db->get($this->_table);
}
function check_email($email)
{
$this->db->select('1', FALSE);
$this->db->where('LOWER(email)=', strtolower($email));
return $this->db->get($this->_table);
}
function ban_user($user_id, $reason = NULL)
{
$data = array(
'banned' => 1,
'ban_reason' => $reason
);
return $this->set_user($user_id, $data);
}
function unban_user($user_id)
{
$data = array(
'banned' => 0,
'ban_reason' => NULL
);
return $this->set_user($user_id, $data);
}
function set_role($user_id, $role_id)
{
$data = array(
'role_id' => $role_id
);
return $this->set_user($user_id, $data);
}
// User table function
function create_user($data)
{
$data['created'] = date('Y-m-d H:i:s', time());
return $this->db->insert($this->_table, $data);
}
function get_user_field($user_id, $fields)
{
$this->db->select($fields);
$this->db->where('id', $user_id);
return $this->db->get($this->_table);
}
function set_user($user_id, $data)
{
$this->db->where('id', $user_id);
return $this->db->update($this->_table, $data);
}
function delete_user($user_id)
{
$this->db->where('id', $user_id);
$this->db->delete($this->_table);
return $this->db->affected_rows() > 0;
}
// Forgot password function
function newpass($user_id, $pass, $key)
{
$data = array(
'newpass' => $pass,
'newpass_key' => $key,
'newpass_time' => date('Y-m-d h:i:s', time() + $this->config->item('DX_forgot_password_expire'))
);
return $this->set_user($user_id, $data);
}
function activate_newpass($user_id, $key)
{
$this->db->set('password', 'newpass', FALSE);
$this->db->set('newpass', NULL);
$this->db->set('newpass_key', NULL);
$this->db->set('newpass_time', NULL);
$this->db->where('id', $user_id);
$this->db->where('newpass_key', $key);
return $this->db->update($this->_table);
}
function clear_newpass($user_id)
{
$data = array(
'newpass' => NULL,
'newpass_key' => NULL,
'newpass_time' => NULL
);
return $this->set_user($user_id, $data);
}
// Change password function
function change_password($user_id, $new_pass)
{
$this->db->set('password', $new_pass);
$this->db->where('id', $user_id);
return $this->db->update($this->_table);
}
}
Моя проблема так и осталась не решенной!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Неужели только я столкнулась с подобной проблемой? Все делала строго в соответствии с инструкцией, указанной в данном уроке, никакой самодеятельности.
В итоге уже больше недели ищу решение проблемы на разных ресурсах, так как здесь, похоже, вопросы игнорируются
student_zh06Hwd_ благодарю Вас за помощь, версия PHP 7.3.7
благодарю
Операционка Windows?
Текущий XAMPP удалите и поставьте этот и будет все 100% работать:
Filename: C:\xampp\htdocs\kinomonster\application\models\dx_auth\Users.php
Это весь код файла?
5function __construct()
6 {
7 parent::__construct();
8
9 // Other stuff
10 $this->_prefix = $this->config->item('DX_table_prefix');
11 $this->_table = $this->_prefix.$this->config->item('DX_users_table');
12 $this->_roles_table = $this->_prefix.$this->config->item('DX_roles_table');
13 }
У меня их исходника нормально работает, стоит PHP Version 7.1.30. Какая у вас версия php, может в ней дело?