URL 段 - 用户个人资料 - Codeigniter

发布于 2024-07-26 11:56:13 字数 823 浏览 2 评论 0原文

我正在尝试为我的网站创建用户配置文件,其中 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(); 命令,但如有

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

I'm trying to create user profiles for my site where the URL is something like

mysite.com/user/ChrisSalij

Currently my controller looks like so:

<?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
?>

At the moment I'm getting a 404 error whenever i go to;

mysite.com/user/ChrisSalij

I think this is because it is expecting there to be a method called ChrisSalij.
Though I'm sure I'm misusing the $this->uri->segment(); command too

Any help would be appreciated.
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

翻身的咸鱼 2024-08-02 11:56:13

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

解决此问题的几种方法:

  1. 更改

    函数索引(){
    $data['用户名'] = $this->uri->segment(2);

并使用

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

mysite.com/user/index/ChrisSalij 的 URL

  1. 如果您不喜欢 URL 中的索引的想法,您可以更改称为配置文件等的函数,或者考虑使用 < a href="http://www.codeignitor.com/user_guide/general/routing.html" rel="nofollow noreferrer">路由

并使用类似的内容来

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

正确映射 的 URL mysite.com/user/ChrisSalij

It's because the controller is looking for a function called ChrisSalij.

A few ways to solve this:

  1. change

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

to be

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

and use the URL of mysite.com/user/index/ChrisSalij

  1. if you don't like the idea of the index being in the URL you could change the function to be called a profile or the like, or look into using routing

and use something along the lines of

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

to correctly map the URL of mysite.com/user/ChrisSalij

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文