Codeigniter は、ユーザーのログイン検証後に URL ジャンプのコードを処理します

WBOY
リリース: 2016-07-25 09:07:13
オリジナル
1141 人が閲覧しました
  1. class MY_Controller extends CI_Controller
  2. {
  3. public function __construct()
  4. {
  5. parent::__construct();
  6. /* ログインするかどうか、および現在の URL が auth/login であるかどうかを判断します* /
  7. if ( ! $this->tank_auth->is_logged_in()
  8. && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'ログイン'))
  9. {
  10. $redirect = $this->uri->uri_string();
  11. if ( $_SERVER['QUERY_STRING'])
  12. {
  13. $redirect .= '?' _SERVER[ 'QUERY_STRING'];
  14. }
  15. /*ユーザーのログインページにジャンプ、ログイン後にジャンプするURLを指定*/
  16. redirect('auth/login?redirect='.$redirect);
  17. }
  18. }
  19. }
  20. ? >
コードをコピー

ファイル: User.php

  1. class ユーザーは MY_Controller を拡張します

  2. {
  3. function login()
  4. {

  5. if ($this->tank_auth-> is_logged_in()) { // ログイン

  6. redirect('/');

  7. } else {

  8. //その他のコードはここに...
  9. /*リダイレクト情報があるかどうかを判断します */
  10. $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';

  11. if ($this-> ;form_validation ->run()) { // 検証OK

  12. if ($this->tank_auth->login(
  13. $this->form_validation->set_value('login'),
  14. $this->gt ;form_validation ->set_value('password'),
  15. $this->form_validation->set_value('remember'),
  16. $data['login_by_username'],
  17. $data['login_by_email'])) { // 成功
  18. redirect($data['redirect']);

  19. } else {

  20. //エラー処理
  21. }
  22. }
  23. $this->load->view("login_form ")
  24. }
  25. }
  26. /*
  27. 注:login_form では、フォームを送信するためのフォーム アドレスが次のとおりであることに注意してください:
  28. */
  29. }?>

コードをコピーします

login_form で、送信されたフォームのアドレスが次であることに注意してください。

コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート