2013-07-15 58 views
0

我試圖用查詢字符串來設置CodeIgniter(v2.1.4)並遇到傳遞變量的問題。當controller_trigger和function_trigger傳遞網頁的工作:帶有代碼點火器的查詢字符串

example.org/?c=page&m=index 

但是,當我試圖傳遞一個變量:

example.org/?c=page&m=view&id=1 

腳本拋出「缺少參數」和「未定義變量」錯誤。

在 '應用程序/配置/ config.php文件' 我設置:

$config['enable_query_strings'] = TRUE; 

在 '應用程序/配置/ routes.php文件' 我有:

$route['default_controller'] = "page"; 

而我的長相控制器像:

<?php 

class Page extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('page_model'); 
    } 

    public function index() 
    { 
     $data['title'] = 'Page Title'; 

     $this->load->view('templates/header', $data); 
     $this->load->view('page/page_index', $data); 
     $this->load->view('templates/footer'); 
    } 

    public function view($id) 
    { 
     $data['title'] = 'Id Page Title'; 

     $data['page_item'] = $this->page_model->get_page($id); 

     $this->load->view('templates/header', $data); 
     $this->load->view('page/page_view', $data); 
     $this->load->view('templates/footer'); 
    } 

} 

有誰知道我錯過了什麼?

任何幫助,將不勝感激

回答

1

在你的config.php變化:

$config['allow_get_array']  = TRUE; #example.com?who=me&what=something&where=here 
+0

這似乎已被設置爲TRUE。我假設這是默認,因爲我不記得改變它。 – RebDev

+0

不,這不是默認設置。遵循以下結構:'example.com/index.php?c = controller&m = function'。詳情請參閱你的配置文件。而不是'公共函數視圖($ id)'嘗試'公共函數視圖(){$ id = $ _GET ['id']}' –

+0

這工作。謝謝。順便說一句我剛剛檢查配置文件CodeIgniter(v2.1.4)的zip內直接設置$ config ['allow_get_array']設置爲TRUE默認 – RebDev

0

寫這樣

example.org?c=page&m=index 

沒有 「/」

+0

隱而不宣」 t似乎有所作爲。 – RebDev