【问题标题】:Removing a querystring in PHP and reloading the page在 PHP 中删除查询字符串并重新加载页面
【发布时间】:2013-03-06 17:56:00
【问题描述】:

在 PHP 中重新加载我所在页面的最佳方法是什么?从 URL 中删除所有以前的查询字符串值?

【问题讨论】:

  • header("Location: {$_SERVER['PHP_SELF']}");header("Location: ?");
  • @JonathanKuhn:但这不会删除查询字符串...
  • @Horen 我在您发表评论时对其进行了编辑,但是是的。 $_SERVER['PHP_SELF'] 不包含查询字符串,会重定向到同一页面。

标签: php query-string


【解决方案1】:

你可以用parse_url函数去掉参数:

$url = parse_url($url, PHP_URL_PATH)

然后在 PHP 中使用header 重定向:

//it there is any parameter...
if(count($_GET)) {
    header('Location: '.$url);
    die();
}

在生成任何输出之前,您必须使用header 函数。 此外,您应该在某种条件下找到header,以避免在任何其他情况下重定向。

【讨论】:

  • 如果这是在同一页面的顶部运行,你将如何防止无限重定向循环?
  • 利用任何条件。
  • @mellamokbtheWise if(!empty($_GET))header(...)
  • @Steve:我的意思是这确实应该成为你答案的一部分。
  • 重定向后总是die(),除非您真的希望页面继续执行。
猜你喜欢
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多