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. 変化する

    function 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";

のURLを正しくマッピングするにはmysite.com/user/ChrisSalij

于 2009-07-07T15:42:24.160 に答える