0
我; m在codeigniter項目上工作。我想創建一個鉤子,以便在每次加載類時驗證用戶登錄。 我的鉤重定向你太多次了。在codeigniter鉤子
$hook['post_controller_constructor'] = array(
'class' => 'Auth_login',
'function' => 'is_logged_in',
'filename' => 'Auth_login.php',
'filepath' => 'hooks',
);
,並在配置文件中同時啓用。
/**
* Auth_login
*/
class Auth_login
{
/**
* loading the CI instance
* @var [object]
*/
private $CI;
public function __construct()
{
$this->CI =& get_instance();
$this->CI->load->library('session');
$this->CI->load->helper('url');
}
/**
* Check the enduser for login verify, every time when the enduser
* loads the controller.
*/
public function is_logged_in()
{
/**
* if end user is not logged in, redirect to the login page
*/
if(!$this->CI->session->userdata('is_logged_in'))
{
$this->CI->session->set_tempdata('faliure','Please sign in to continue');
redirect(site_url('login/index'));
}
}
}
它檢查最終用戶的會話登錄驗證。如果用戶未登錄,則重定向到登錄頁面。 這是我控制它重定向
class Login extends CI_Controller {
// class constructor
// public function __construct() {
// parent::__construct();
// // load default
// $this->load->model('login_model');
// }
/**
* [display the login page, and verify the login page using "form_validation" for server side validation]
* @return [redirect] [description]
*/
public function index()
{
$this->load->model('login_model');
// on form sumbit
$on_sumbit = $this->input->post('verify');
if(isset($on_sumbit))
{
// server side validation for login
if ($this->form_validation->run('login/login_verify') == FALSE)
{
$this->load->view('login');
}
else
{
// get the form post value
$user_name = $this->input->post('user_name');
$password = $this->input->post('password');
// verify login
$verified = $this->login_model->login_verify($user_name,$password);
if($verified) // success
{
redirect('dashboard');
}
else // failure
{
$this->session->set_flashdata('login_failure','Please check your email and password and try again');
redirect('login/index');
}
}
}
// login page
$this->load->view('login');
}
// delete active session
public function logout()
{
$this->session->sess_destroy();
redirect('login');
}
}
當重定向到登錄控制器,它表現出像 錯誤,因爲它工作在本地系統 的「本地主機重定向你太多次」 是什麼與此有關的實際問題。任何幫助,將不勝感激。
ü可以嘗試這樣的事情樣品 **重定向(「/ index.php文件/ it_inventory/get_users」,「刷新」); ** –
我在上文添加'刷新'作爲第二個參數..在你現在遇到這個問題的所有重定向中添加它。 –
我也嘗試過,它會遞歸地刷新頁面。它不會加載頁面..任何其他解決方案..請 – Rakesh