2011-02-06 11 views
15

depuración es tirar ...

Notice: Undefined index: HTTPS en C: \ xampplite \ htdocs \ testsite \ wp-content \ themes \ mytheme \ header.php en la línea 4

¿Cómo puedo cambiar mi función a continuación para evitar el error?

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

¿Sería esto el equivalente?

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

Respuesta

32

Algunos servidores simplemente no establecen $_SERVER['HTTPS'] si la petición es no seguro. Algunos otros pueden configurarlo en 'off'. Usted tendrá que comprobar de esta manera:

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

¿por qué usa strtolower? –

3

Notice: Undefined index: HTTPS dice que HTTPS no es una clave dentro de la matriz $_SERVER. No existe, por lo que no puede compararlo con "on".

isset() comprueba si una variable está "configurada" o incluso disponible para referencia en este caso. Esta sería la mejor opción en su caso.