我刚刚发现我有两千个来自两个相同文件的错误。
我使用isset
删除了很多错误,但我无法弄清楚如何删除最后两个错误。也许你们可以帮助我。
PHP Notice: Undefined index: HTTPS on /xxx/xxx/xxx.php on line 123
生成错误的第一个PHP文件中的代码:
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
更确切地说,这一行:
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
和
if (isset($tag)) {
$tag = htmlspecialchars($_REQUEST['tag'], ENT_QUOTES);
}
答案 0 :(得分:13)
您可以更改:
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
为:
if (array_key_exists('HTTPS', $_SERVER) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
array_key_exists返回一个布尔值。因为我先检查它并使用&& if语句将在检查$ _SERVER [“HTTPS”]的值之前退出(如果它不存在。)