2011-02-06 10 views
15

डीबग फेंक रहा है ...

नोटिस: अपरिभाषित सूचकांक: HTTPS C: \ xampplite \ htdocs \ testsite \ WP-सामग्री \ विषयों \ mytheme \ header.php लाइन 4

त्रुटि को रोकने के लिए मैं नीचे अपना कार्य कैसे बदल सकता हूं?

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

क्या यह समकक्ष होगा?

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

उत्तर

32

कुछ सर्वर बस $_SERVER['HTTPS'] निर्धारित नहीं करते हैं, जबकि अनुरोध गैर-सुरक्षित है। कुछ अन्य इसे 'off' पर सेट कर सकते हैं। आप इस तरह यह जाँच करने के लिए होगा:

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

आप स्ट्रेटोलॉवर का उपयोग क्यों करते हैं? –

3

Notice: Undefined index: HTTPS का कहना है कि HTTPS$_SERVER सरणी के भीतर एक महत्वपूर्ण नहीं है। यह अस्तित्व में नहीं है, इसलिए आप इसकी तुलना "on" से नहीं कर सकते।

isset() जांचता है कि कोई चर "सेट" है या इस मामले में संदर्भ के लिए भी उपलब्ध है या नहीं। यह आपके मामले में सबसे अच्छा विकल्प होगा।

संबंधित मुद्दे