2010-12-02 8 views
0

私はCodeIgniterが初めてです。一つのコントローラーが別のコントローラーにユーザーを送ることができます

ページを表示するには、ユーザーがログインする必要があるWebサイトを設定しようとしています。 Javaから来て、私はものに階層的なアプローチを取っています。

私の考えは、私自身のコントローラベース書くことでした。ここでは

<?php 
class MY_Controller extends Controller 
{ 
function Controller() 
{ 
    parent::Controller(); 

    if(!$this->quickauth->logged_in()) 
    { 
    //they need to login, send them to the login page. 
    } 
} 
} 
?> 

今、私はそれを拡張コントローラを書くことができますし、私は、彼らは常にに記録されますことを確認してくださいだろうが概要です。ログインページの場合:

<?php 
class login extends Controller 
{ 
function index() 
{ 
     //Lets just double check, they might not have to login. 
    if ($this->quickauth->logged_in()) 
    { 
    //send them to the main controller 
    } 
} 
} 
?> 

これまでのところ、わかりました。交換する必要があるもの:
1. //メインコントローラーに送信
2. //ログインする必要があり、ログインページに送信します。

と?

これを行うには良い方法がありますか?

おかげで、 ブレイク

答えて

2

リダイレクトは簡単です。

ちょうど使用:

redirect('controller/method'); 

はい、リダイレクト機能にアクセスするためのURLヘルパーをロードします。

$this->load->helper('url); 

urlヘルパーが多く使用されているため、config/autoloadで自動ロードする必要があります。

+1

に構築することができ、この

function is_logged_in() { $is_logged_in = $this->session->userdata('is_logged_in'); if (!isset($is_logged_in) || $is_logged_in != true) { echo 'You don't have permission to access this page. <a href="http://lemonrose.net">Login</a>'; die(); //$this->load->view('login_form'); } } 

ようsoemthingを使用することができます。次に、各拡張コントローラのコンストラクタで、ログインしているかどうかを確認します。ログインしていないユーザがコントローラにアクセスできるようにすることができます。コントローラの中には、ログインしていないユーザー。 –

+0

Duh。私は昨夜、これを書いた時から外出していたに違いない。みんな、ありがとう。 – TechplexEngineer

2

あなたはそこにリダイレクト機能を持っている「url_helper」をロードする場合。詳細については、url helperに関するドキュメントをご覧ください。

1

また、あなたがより良い練習は、このようなis_logged_inとしてあなたMY_Controllerに一部のユーザーステータス変数を設定することで、この

関連する問題