避免因URL标头中缺少ID而导致的错误

时间:2014-08-16 14:18:14

标签: php codeigniter bonfire

使用Codeigniter + Bonfire框架我可以在我的URL中传递变量。这一切都适用于GET功能:

在我的视图文件中,我获得了我的用户ID,然后点击再次将其传递给控制器​​:

<a href="/my_team/index/<?php echo $user->member->id; ?>">Something</a>
然后

控制器收到ID:

public function index($id = null) {

    //do stuff with that id...
}

网址如下所示:

http://mysite/my_team/index/26

该页面上的所有内容都知道用户ID为26并正确显示信息。

问题是我是否从URL手动删除了该号码,所以它看起来像这样:

http://mysite/my_team/index/

并将索引保​​留在URL中我现在收到一大堆错误,因为该网站无法从URL获取ID。我怎么能避免这个?也许使用.htacces或其他东西从URL隐藏index公共函数?

3 个答案:

答案 0 :(得分:1)

像@CBroe在评论中说的那样。像这样:

public function index($id = null) {

   if(is_null($id)) {
      // redirect to custom error page
   }

    //do stuff with that id...
}

答案 1 :(得分:0)

将CI网址路由器设置为重定向

http://mysite/my_team/index/

到默认网址

http://mysite/my_team/index/1

答案 2 :(得分:0)

参数可以是字符串值,所以我更喜欢这种方式

public function index($id = '') {

   if($id!='') {
      // Proceed further
   }
else{
    //Redirect to a error page(that is 301 safe)
   }
}