获取在URL Codeigniter中传递的参数

时间:2018-07-20 03:08:27

标签: codeigniter uri

基本上我有一个锚标记(更新),该标记在表中获取请求的ID,并加载获取所有请求详细信息的更新视图

testID

然后在我的方法中收到

testID

该网址随后变为<a href="<?php echo base_url('dashboard/staff/request/update_request_view/'.$drafts['idx']);?>" class="btn waves-effect waves-light btn-info update-button <?php if($drafts['status']=='ONGOING'){echo 'disableClick';}?>"><i class="fa fa-eye"></i> Update</a>

现在,当我尝试保存使用其他方法进行的更新

public function update_request_view($idx)
{
   //some code here to load the view and get details
}

我的http://localhost/dashboard/staff/request/update_request_view/48变量为空。当我使用public function update() { $idx = $this->uri->segment(5); } 时,会得到update_request_view。

我不想使用隐藏字段,因为它会引起很多安全问题,而且当我能够解决此问题时,我会加密ID。为什么我的$idx是空的,我怎么得到它?

1 个答案:

答案 0 :(得分:1)

很可能,如果我对您的理解正确,那是因为update函数是与http://localhost/dashboard/staff/request/update_request_view/48分开的页面。因此,CI没有看到任何以前的url变量。您可以提交到update/{$id}(操作网址),也可以可以使用隐藏字段;它比在url中使用id更为安全,因为只需更改form动作就可以轻松地对其进行操作。

话虽如此,如果您真的担心安全性,则应使用某种ACL限制给定记录的特定用户访问。