微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未定义的偏移量 1 与 $qString

如何解决未定义的偏移量 1 与 $qString

尝试清理网站,但此错误一直显示

注意:未定义偏移量:1 in /var/www/includes/client.controller.PHP 第 34 行注意:未定义偏移量:1 英寸 /var/www/includes/client.controller.PHP 第 39 行。

我对此很陌生,希望有人能发现我在下面的代码中遗漏的内容

        $qString = explode("?",$_SERVER['REQUEST_URI']);

        $qString = $qString[1];
        foreach (explode('&',$qString) as $q)
        {
            $parts = explode('=',$q);
            $key = $parts[0];
            $val = urlencode($parts[1]);
            if (!isset($_GET[$key]))
                $_GET[$key] = $val;
        }

解决方法

您需要考虑到不是 URL 将具有查询字符串的事实。所以你需要在访问它之前检查是否 $qString[1] 以避免警告。

    $qString = explode("?",$_SERVER['REQUEST_URI']);
    if(isset($qString[1])) {
        $qString = $qString[1];
        foreach (explode('&',$qString) as $q)
        {
            $parts = explode('=',$q);
            $key = $parts[0];
            $val = urlencode($parts[1]);
            if (!isset($_GET[$key]))
                $_GET[$key] = $val;
        }
    } 

另外,我不确定这里的逻辑,似乎这段代码是从 $_GET 重新创建 $_SERVER['REQUEST_URI'] 系统变量?如果是关于对值进行 urlencoding,你可以循环 $_GET 来做同样的事情。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。