1

我正在尝试为我的网站创建用户配置文件,其中 URL 类似于

mysite.com/user/ChrisSalij

目前我的控制器看起来像这样:

<?php   
class User extends Controller {
   function user(){
      parent::Controller();
   }
   
   function index(){
      $data['username'] =  $this->uri->segment(2);

      if($data['username'] == FALSE) {
         /*load default profile page*/
      } else {
         /*access the database and get info for $data['username']*/
         /*Load profile page with said info*/
      }//End of Else
   }//End of function
}//End of Class
?>

目前,每当我去的时候,我都会收到 404 错误;

mysite.com/user/ChrisSalij

我认为这是因为它期望有一个名为 ChrisSalij 的方法。虽然我确定我$this->uri->segment();也在滥用命令

任何帮助,将不胜感激。谢谢

4

1 回答 1

3

这是因为控制器正在寻找一个名为 ChrisSalij 的函数。

解决这个问题的几种方法:

  1. 改变

    函数 index(){ $data['username'] = $this->uri->segment(2);

成为

function index($username){ 
$data['username'] =  $username; 

并使用 mysite.com/user/index/ChrisSalij 的 URL

  1. 如果您不喜欢将索引放在 URL 中的想法,您可以将函数更改为配置文件等,或者考虑使用路由

并使用类似的东西

$route['user/(:any)'] = "user/index/$1";

正确映射的 URLmysite.com/user/ChrisSalij

于 2009-07-07T15:42:24.160 回答