2017-10-28 159 views
0

我收到以下錯誤說明:未定義指數:HTTP_USER_AGENT在包括()但我沒有定義HTTP_USER_AGENT未定義索引包括

function get_browser_name($user_agent) 
{ 
    if (strpos($user_agent, 'Opera') || strpos($user_agent, 'OPR/')) return 'Opera'; 
    elseif (strpos($user_agent, 'Edge')) return 'Edge'; 
    elseif (strpos($user_agent, 'Chrome')) return 'Chrome'; 
    elseif (strpos($user_agent, 'Safari')) return 'Safari'; 
    elseif (strpos($user_agent, 'Firefox')) return 'Firefox'; 
    elseif (strpos($user_agent, 'MSIE') || strpos($user_agent, 'Trident/7')) return 'Explorer'; 
    return 'Other'; 
} 

錯誤是在這條線:

<body class="<?php echo get_browser_name($_SERVER['HTTP_USER_AGENT']);?>" <?php print $attributes;?> <?php print $classes; ?>> 
+0

代碼工程何時不作爲包含?標題可能未設置。 – chris85

+0

但是您正在傳遞'$ _SERVER ['HTTP_USER_AGENT']' – RiggsFolly

+0

也許如果您向我們顯示了COMPLETE錯誤消息,並根據您向我們顯示的代碼標識了錯誤消息的行號,我們可以幫助 – RiggsFolly

回答

-1

參考http://php.net/manual/en/function.get-browser.php#101125

function get_browser_name($user_agent) 
{ 
    if (strpos($user_agent, 'Opera') || strpos($user_agent, 'OPR/')) return 'Opera'; 
    elseif (strpos($user_agent, 'Edge')) return 'Edge'; 
    elseif (strpos($user_agent, 'Chrome')) return 'Chrome'; 
    elseif (strpos($user_agent, 'Safari')) return 'Safari'; 
    elseif (strpos($user_agent, 'Firefox')) return 'Firefox'; 
    elseif (strpos($user_agent, 'MSIE') || strpos($user_agent, 'Trident/7')) return 'Internet Explorer'; 

    return 'Other'; 
} 

// Usage: 

echo get_browser_name($_SERVER['HTTP_USER_AGENT']); 
+1

答**好的答案**將始終解釋已完成的工作以及爲什麼這樣做, 不僅適用於OP,而且適用於SO的未來訪問者,可能會發現此問題並正在閱讀您的答案。甚至可以upvote它,如果它解決了問題 – RiggsFolly

+0

現在其鏈接只回答 – RiggsFolly