Всем привет! /Подскажите пожалуйста где может скрываться следующая проблема?При выходе из админки и попытке зайти снова в админку,срабатывает функция Access Denied.Скажите пожалуйста где допущенна ошибка? В какую сторону смотреть? Вот содержимое файла админки login.php. PHP: class login extends Admin_Login { public function __construct() { parent::__construct(); $this->load->model('crud_model'); $this->load->database(); $this->session->set_userdata('comefrom',current_url()); } public function index() { if (TRUE==$this->session->userdata('logged_in')) redirect(base_url() . 'administrator/dashboard', 'refresh'); $secret_input = $this->uri->segment(2); $config = array( array( 'field' => 'email', 'label' => 'Email', 'rules' => 'required|xss_clean|valid_email' ), array( 'field' => 'password', 'label' => 'Password', 'rules' => 'required|xss_clean' ) ); $this->form_validation->set_rules($config); if ($this->form_validation->run() == FALSE) { $secret = $this->db->get_where('settings', array('type' => 'security'))->row(); $key = $this->lib->decrypt($secret->description, $this->config->item('product')); $secret_key = $this->session->_unserialize($key); if(isset($secret_input) && isset($secret_key['secret_key']) && $secret_input === $secret_key['secret_key']){ $data['secret'] = $secret_input; $this->template->write('title', 'Admin Login') ->add_js('jquery-1.11.0.min.js') ->add_js('admin.app.js') ->add_js('login.js') ->write('theme_path', base_url().'assets') ->write_view('login_content', 'admin_login/login',$data) ->render(); } else if (empty($secret_input) || $secret_input != $secret_key['secret_key'] ){ show_error("Access Denied"); } } else { $email = $this->input->post('email'); $password = cleanhtml($this->input->post('password')); if(empty($email) || empty($password)){ show_error("Access Denied"); } $this->session->sess_destroy(); $check_auth = $this->admin_auth->login($email,$password); if (true === $check_auth) { $success['status'] = TRUE; $success['name'] = $this->session->userdata('nick_name'); $success['message'] = 'Login Success Wait a moment for redirect to admin dashboard'; $success['url'] = base_url() . 'administrator/dashboard'; print json_encode($success); } else { $success['status'] = FALSE; $success['message'] = 'invalid username or password'; print json_encode($success); } } } }
Функция! вот онаю PHP: function show_error($heading, $message, $template = 'error_general', $status_code = 500) { set_status_header($status_code); $message = '<p>'.implode('</p><p>', ( ! is_array($message)) ? array($message) : $message).'</p>'; if (ob_get_level() > $this->ob_level + 1) { ob_end_flush(); } ob_start(); include(APPPATH.'errors/'.$template.'.php'); $buffer = ob_get_contents(); ob_end_clean(); return $buffer; }