如何在 GET 方法中使用 GET 方法隐藏 URL ID



routes.php:

$route['services'] = 'woods/services';

输出:

http://localhost:8079/works/Woods/services?id=1

我想隐藏这个 id (?id=1)。

如果您不想显示?id,您可以在控制器中执行以下操作(url:Woods/services/1):

public function index($id = null) {
if (is_null($id)) {
show_404();
}
// you can now use your $id variable however you want, this is
// the same as a get
}

否则,您必须使用会话或设置cookie,但这需要您在用户单击该特定ID的href之前设置id的会话变量(除非您是读心者是不可行的);这意味着您将需要该href来触发ajax以触发控制器函数,该函数使用该id设置会话变量,然后在js中重定向到页面/Woods/services在其中检索带有 ID 的会话变量(不漂亮)。或者,您将不得不路由到一个中间函数,该函数将执行 id 的会话变量设置,然后重定向,希望用户在重定向之间不会看到 id。

基本上,它并不难,只是很麻烦,并且拥有一个看起来像这样的 url 没有真正的问题:localhost:8079/works/Woods/services/1.1 可能成为潜在问题的唯一情况是,如果您正在尝试做一些直接插入数据库的疯狂事情。

最新更新