Codeigniter實現處理使用者登入驗證後的URL跳轉_PHP教程

來源:互聯網
上載者:User
Codeigniter處理使用者登入驗證後URL跳轉,主要涉及到了My_Controller.php頁面以及登入驗證模組User.php頁面,具體代碼如下:

My_Controller.php頁面:

複製代碼 代碼如下:class MY_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
/*判斷是否登入,判斷當前URL是否是auth/login*/
if ( ! $this->tank_auth->is_logged_in()
&& ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
{
$redirect = $this->uri->uri_string();

if ( $_SERVER['QUERY_STRING'])
{
$redirect .= '?' . $_SERVER['QUERY_STRING'];
}
/*跳轉到使用者登陸頁面,指定Login後跳轉的URL*/
redirect('auth/login?redirect='.$redirect);
}
}
}

User.php頁面:

複製代碼 代碼如下:class User extends MY_Controller
{
function login()
{

if ($this->tank_auth->is_logged_in()) { // logged in
redirect('/');

} else {
//other codes here......
/*判斷是否有redirect資訊*/
$data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';

if ($this->form_validation->run()) { // validation ok
if ($this->tank_auth->login(
$this->form_validation->set_value('login'),
$this->form_validation->set_value('password'),
$this->form_validation->set_value('remember'),
$data['login_by_username'],
$data['login_by_email'])) { // success
redirect($data['redirect']);

} else {
//error handling
}
}
$this->load->view("login_form")
}
}
/*
Note: 在login_form中需要注意,提交表單的form地址:

*/
}

在login_form中需要注意,提交表單的form地址為:

複製代碼 代碼如下:

http://www.bkjia.com/PHPjc/788609.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/788609.htmlTechArticleCodeigniter處理使用者登入驗證後URL跳轉,主要涉及到了My_Controller.php頁面以及登入驗證模組User.php頁面,具體代碼如下: My_Controller.php頁面:...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.