Проблема при подключении библиотеки dx_auth ?

0

Доброго времени суток! 

Следуя инструкциям урока 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';
codeigniter

6 ответов

0

Нет, я только отрывок указала.

Вот весь:

<?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);
	}
}
0

Моя проблема так и осталась не решенной!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Неужели только я столкнулась с подобной проблемой? Все делала строго в соответствии с инструкцией, указанной в данном уроке, никакой самодеятельности.

В итоге уже больше недели ищу решение проблемы на разных ресурсах, так как здесь, похоже, вопросы игнорируются

student_zh06Hwd_ благодарю Вас за помощь, версия PHP 7.3.7

0

благодарю

0

Операционка Windows? 

Текущий XAMPP удалите и поставьте этот и будет все 100% работать:

https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.1.30/xampp-windows-x64-7.1.30-5-VC14-installer.exe/download

0
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	}

0

У меня их исходника нормально работает, стоит PHP Version 7.1.30. Какая у вас версия php, может в ней дело? 

Sign up or Log in to write an answer