【问题标题】:Cannot get the second param in url php无法获取 url php 中的第二个参数
【发布时间】:2021-12-10 19:01:16
【问题描述】:

我正在尝试获取以下url的参数ct

http://www.sitename.com/index.php?c=hJjB0wf/f4o%26t=4m52Jkm81j8

$_GET['c']$_GET['t'] 但是当我回显这两个变量时,它会发生这样的事情:

c=hJjB0wf/f4o%26t=4m52Jkm81j8
t is undefined

有什么问题?

【问题讨论】:

  • URL 参数由 & 分隔,但您的 URL 编码为 %26,因此请先尝试通过 urldecode() 运行您的 URL 字符串
  • 不是 urldecode,而是修复生成此无效 URL 的任何位置。解决根本原因,而不是症状

标签: php url


【解决方案1】:

您没有得到值,因为 URL 不正确。在应该有一个像这样的&之前,你会得到t的值。更新您的网址

http://www.sitename.com/index.php?c=hJjB0wf/f4o&t=4m52Jkm81j8

【讨论】:

    【解决方案2】:

    那是因为在你的 url 中不是 t 参数。 在 url 中 %26t&t 的 urlencoded http://www.sitename.com/index.php?c=hJjB0wf/f4o%26t=4m52Jkm81j8.

    你能做的只是

    $url = "http://www.sitename.com/index.php?c=hJjB0wf/f4o%26t=4m52Jkm81j8";
    
    $fixed = urldecode($url); // fix %26 -> &
    
    $urlParts = parse_url($fixed);
    
    $params = [];
    
    parse_str($urlParts['query'], $params);
    
    print_R($params);
    Array
    (
        [c] => hJjB0wf/f4o
        [t] => 4m52Jkm81j8
    )
    
    
    

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      相关资源
      最近更新 更多