【问题标题】:PHP - Is $_GET still functional with spaces in the URL?PHP - $_GET 仍然可以在 URL 中使用空格吗?
【发布时间】:2012-05-07 14:28:59
【问题描述】:

我有一个简单的问题...如果您在 URL $_GET 中有空格,可以说 "page=about us",如果您随后使用此代码 IF($_GET['page']=='about us')。那行得通吗?或者你必须使用IF($_GET['page']=='about%20us')?

感谢您的宝贵时间!

【问题讨论】:

  • 你自己试过还是想让我们试试?
  • 是的,你应该自己尝试过。
  • 我自己没有尝试过,因为我目前无法...
  • 为什么你现在不能?如果您无法访问 PHP 开发/测试环境,您需要什么答案?
  • 我可以在我的第二台电脑上试用它。但是我不在家,我还在想一种完成剧本的方法,然后这个问题就在我脑海里冒了出来。

标签: php if-statement get


【解决方案1】:

在发送 HTTP 请求之前,您的浏览器会将 URL 中的文字空间转换为 + 符号。当 PHP 看到那个很 + 的符号时,它会再次变成 $_GET 的空格。

所以,是的,将它与== "about us" 进行比较时它会起作用。不要与%20 比较。 (无论如何,这是一种有效但不太可能的 URL 编码。)

侧节点。最好不要依赖浏览器魔法。输出链接时,请自行嵌入+ 代替空格。

【讨论】:

    【解决方案2】:

    看url_decode。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      相关资源
      最近更新 更多