如何摆脱PHP注意:未定义的索引:第123行的X中的HTTPS

时间:2013-06-20 16:30:11

标签: php e-notices

我刚刚发现我有两千个来自两个相同文件的错误。

我使用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);
}

1 个答案:

答案 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”]的值之前退出(如果它不存在。)