问题描述
注意:未定义偏移量: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 来做同样的事情。