2011-02-06 8 views
15

debug sta gettando ...

Notice: Undefined index: HTTPS in C: \ xampplite \ htdocs \ testsite \ wp-content \ Themes \ MyTheme \ header.php on line 4

Come posso modificare la mia funzione di seguito per evitare l'errore?

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

Questo sarebbe l'equivalente?

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

risposta

32

Alcuni server semplicemente non impostare $_SERVER['HTTPS'] se la richiesta non è sicuro. Alcuni altri possono impostarlo su 'off'. Dovrete controllare in questo modo:

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

perché usi strtolower? –

3

Notice: Undefined index: HTTPS dice che HTTPS non è una chiave all'interno dell'array $_SERVER. Non esiste, quindi non puoi confrontarlo con "on".

isset() controlla se una variabile è "impostata" o anche disponibile per riferimento in questo caso. Questa sarebbe la scelta migliore nel tuo caso.

Problemi correlati