2015-08-15 51 views
0

如何根據登錄名稱調用不同的功能。我有一個用戶登錄,它應該檢查用戶是僱員還是學生存儲在user_type上的數據庫中。基於登錄路由到不同的功能

我有兩個功能的控制器:

class mainextends CI_Controller { 

function index() 
{ 
    echo "main"; 
} 

function student($user_id) 
{ 
    //code 
} 

function employee($user_id) 
{ 
    //code 
} 

routes.php文件:

$route['default_controller'] = "main"; 
$route['people/(.*)']   = "main/student/$1"; 
$route['trainer/(.*)']   = "main/employee/$1"; 
$route['404_override']   = ''; 

我在哪裏可以將其重定向到相應的URL之前檢查USER_TYPE。

+0

發表用戶登錄。現在,如果沒有看到用於登錄的具體方法,回答起來太寬泛了。也許可以讓兩個控制器關於用戶級別,但這不是必需的。 – Tpojka

+0

建議您考慮完全分開這些。有一個單獨的登錄頁面將單獨的控制器。可以從模型中調用兩個組共享的任何方法或函數。 – cartalot

回答

0

一個簡單的解決方案是使用笨_remap功能,只需把它放在你的控制器採用了一些邏輯:

function _remap($methode){ 
     // do something 
} 

更好的解決方案是有一個basecontroller,你在每個控制器包括和消耗它。在這個基礎控制器中,你放置了訪問控制和完整的基本內容。

+0

這將重定向到同一文件中的任何功能?就像如果user_type是員工,我只是調用員工功能? – Rookie

+0

你可以調用類中的每個方法(同一個文件)。 – Joerg