2013-02-07 45 views
0

我實際上在我的項目中使用Codeigniter和php,當用戶登錄頁面時,如果其普通用戶加載相同的視圖,如果他的管理員,但改變它的一些東西。加載視圖取決於用戶類型記錄

我想傳遞一個變量來控制,並根據它與加載根據用戶的變化的看法..但其似乎沒有降溫版本的URL讓SE這樣的:

 public function dc($q="") 
    { 
     if($q=="o") 
     { 

     // Here i have to change some parts of the template for normal users 
     $this->load->view('Main/template_main', $data, FALSE); 
     }elseif ($q=="a") { 
      // Here i have to change some parts of the template for admins 
     $this->load->view('Main/template_main', $data, FALSE); 

的網址就像www.xxx.com/controller/o或/一個我想看到它像www.xxx.com/controller,因爲它的索引頁..

感謝您的時間..

+1

如果用戶登錄或不登錄,我不會決定網址,你肯定有一些會話設置,對吧?使用它來決定加載哪個視圖 –

+0

問題標題與您要求的內容不同。通常MVC框架不能像這樣工作。在URL中應該有一個指示器來顯示應該加載哪個控制器。如果你想做這種類型的事情,你可以在'routes.php'中設置它。像'$ route ['admin /(:any)'] =「admin/$ 1」;'。我仍然懷疑你的問題。 – MahanGM

回答

0

你應該按照達米恩的說法來解決這個問題。你的控制器應設置會話數據是這樣的:

$this->session->set_userinfo('is_admin', FALSE); 

然後,當你已經檢查了登陸creds,你可以在用戶是管理員設置會話數據:

$this->session->set_userinfo('is_admin', TRUE); 

在您的網頁,然後您可以設置誰看到基於此值的內容。