2014-09-24 76 views
-2

首頁鏈接:在CodeIgniter中找不到控制器?

<a href="view_pre_read/?tid=22">Click here to go</a> 

路由代碼:

$route['view_pre_read/(:any)'] = 'view_pre_read/$1'; 
$route['view_pre_read'] = 'view_pre_read'; 

和我的控制器:

class View_pre_read extends CI_Controller { 

    function index(){ 
     $tid=$_REQUEST['tid']; 
      $this->load->view('pages/notopic',$data); 
    } 

} 

但它總是要叫404錯誤頁面;

請任何人幫我如何克服這一點 在此先感謝。

+0

在鏈接中使用base_url() – 2014-09-25 06:04:57

回答

0

只要確保您的控制器文件名是否正確。

+0

這看起來更像一條評論! – goseo 2014-09-24 07:32:41

+0

@AfghanWiz:我無法評論bcoz,我的榮譽少於50。 – 2014-09-24 07:34:14

+0

你現在有+50的代表。我認爲這應該是一個評論。 – 2014-09-26 02:40:50

0

首先從文檔的:

(:num) will match a segment containing only numbers. 
(:any) will match a segment containing any character. 

那麼,爲什麼不是在你的情況下使用(:num)

在您的控制器中,您必須通過在您的方法參數中添加值來檢索tid的值。我猜想缺少的參數會導致缺失的路線。此外,我不認爲使用$_REQUEST是個好主意。我猜CI實現了一些函數來獲取$_REQUEST的參數。

class View_pre_read extends CI_Controller { 

    function index($tid) { // Add the $tid here 
     echo $tid; //print 22 
     //$tid=$_REQUEST['tid']; 
     $this->load->view('pages/notopic',$data); 
    } 

} 

編輯:

我沒聽長時間看你的路線......也許你應該添加你調用哪個方法。

$route['view_pre_read/(:num)'] = "view_pre_read/index/$1"; 

將導致http://yourwebsite.com/view_pre_read/index/22

+0

鏈接是:click here to go 2014-09-25 05:39:36

+0

RewriteEngine敘述在 RewriteBase/dashboard_new4/ 的RewriteCond%{REQUEST_URI} ^系統* 重寫規則^(。*)$ /index.php?/$1 [L。 ] 的RewriteCond%{REQUEST_URI} ^應用。* 重寫規則^(。*)$ /index.php?/$1 [L] 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME!-d RewriteRule ^(。*)$ index.php?/ $ 1 [L] ErrorDocument 404/index。php – 2014-09-25 05:41:05

+0

class View_pre_read extends CI_Controller { function index($ tid){//在這裏添加$ tid echo $ tid; // print 22 // $ tid = $ _ REQUEST ['tid']; $ this-> load-> view('pages/notopic',$ data); } } – 2014-09-25 05:42:27