Kohana 3.3获取url参数

时间:2014-03-03 17:58:32

标签: url kohana param

我的问题看起来很愚蠢,但我需要联系并做出决定。我想将参数传递给url而不在url中看到参数。这是为了保护我的服务器。因为网址看起来像这样

  

控制器/编辑/ 123

和'123'是数据库中的用户ID。 我可以简单地做到这一点

public function action_edit($id) {
    get_db_info($id);
}

从视图重定向到此网址时是否可以隐藏参数?即在视图文件中

// Do something to set the ID
<?php Kohana_Request::post("user_id", $id); ?>
<a href="<?=URL::base()?>controller/edit">Click</a>

并获取此ID

public function action_edit() {
    $id = $this->request->post("user_id");
    get_db_info($id);
}

但问题是我无法访问KOhana_Request实例并收到此错误

*非静态方法Kohana_Request :: post()不应静态调用*

有人可以为此提供安全的方法吗?

1 个答案:

答案 0 :(得分:0)

我认为我通过编码和解码参数找到了解决方案。

由于Kohana 3.3不允许控制器函数see中的参数。

我在我的观点中这样做

$user_id = Encrypt::instance()->encode($liste->user_id);
$encode_id = base64_encode($user_id);
$encode_ure_id = urlencode($encode_id);

来自控制器,

$encoded_id = urldecode($this->request->param('uri_id'));
$encode_base_url = base64_decode($encoded_id);
$user_id = Encrypt::instance()->decode($encode_base_url);

如果这可以帮助他人。