2011-02-06 14 views
15

Debug jest rzucanie ...

Wskazówka: Undefined index: https w C: \ xampplite \ htdocs \ TestSite \ wp-content \ themes \ Mytheme \ header.php na linii 4

Jak mogę zmienić swoją funkcję poniżej, aby zapobiec występowaniu błędu?

function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
} 

Czy to będzie odpowiednik?

if (isset($_SERVER["HTTPS"])) {$pageURL .= "s";} 

Odpowiedz

32

Niektóre serwery po prostu nie ustawisz $_SERVER['HTTPS'] jeżeli wniosek nie jest bezpieczna. Niektóre inne mogą ustawić ją na 'off'. Musisz sprawdzić to w ten sposób:

if (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on") { 
    $pageURL .= "s"; 
} 
+1

dlaczego używasz strtolower? –

3

Notice: Undefined index: HTTPS mówi, że HTTPS nie jest kluczem w tablicy $_SERVER. Nie istnieje, więc nie można go porównać z "on".

isset() sprawdza, czy zmienna jest "ustawiona", czy nawet dostępna dla odniesienia w tym przypadku. To byłby najlepszy wybór w twoim przypadku.

Powiązane problemy