2011-02-06 35 views
15

gỡ lỗi được ném ...

Notice: Undefined index: HTTPS trong C: \ xampplite \ htdocs \ testsite \ wp-content \ themes \ mytheme \ header.php trên dòng 4

Làm cách nào để thay đổi chức năng của tôi bên dưới để ngăn lỗi?

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

Điều này có tương đương không?

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

Trả lời

32

Một số máy chủ không đặt $_SERVER['HTTPS'] nếu yêu cầu không an toàn. Một số người khác có thể đặt thành 'off'. Bạn sẽ phải kiểm tra xem nó như thế này:

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

lý do bạn sử dụng strtolower? –

3

Notice: Undefined index: HTTPS nói rằng HTTPS không phải là một chìa khóa trong mảng $_SERVER. Nó không tồn tại, vì vậy bạn không thể so sánh nó với "on".

isset() kiểm tra xem biến có được "đặt" hay thậm chí có sẵn để tham chiếu trong trường hợp này hay không. Đây sẽ là lựa chọn tốt nhất trong trường hợp của bạn.

Các vấn đề liên quan