在PHP中使用浏览器检测
所以我是php编程新手,我正在尝试用php编写一个用于浏览器检测的简单脚本。它在“Chrome”和“Firefox”上都能正常工作,但在使用“Edge”或“MSIE”浏览器时,会显示谷歌“Chrome”的选项 这是代码,任何帮助都将不胜感激。我的电脑默认浏览器是chrome,但如果我使用IE或Edge,它会显示chrome的结果。我错过什么了吗在PHP中使用浏览器检测,php,Php,所以我是php编程新手,我正在尝试用php编写一个用于浏览器检测的简单脚本。它在“Chrome”和“Firefox”上都能正常工作,但在使用“Edge”或“MSIE”浏览器时,会显示谷歌“Chrome”的选项 这是代码,任何帮助都将不胜感激。我的电脑默认浏览器是chrome,但如果我使用IE或Edge,它会显示chrome的结果。我错过什么了吗 <html> <body> <form action="redirect.php" method =
<html>
<body>
<form action="redirect.php" method = "post">
<!-- Centered and made heading size for the quick link announcement at top of page -->
<p><center><h2>Welcome to the quick link drop down menus for your browser.</h2>
</center>
</p>
<select name = "make">
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/MSIE/i', $user_agent)) // Internet Explorer
{
?>
<p>Here are Microsoft Internet Explorer links:</p>
<!-- Add links for Microsoft internet explorer browser -->
<option value="https://microsoft.com">Microsoft</option>
<option value="https://en.wikipedia.org/wiki/Internet_Explorer">Wikipedia
Microsoft Internet Explorer</option>
<option value="https://en.wikipedia.org/wiki/Microsoft_Edge">Wikipedia Microsoft
Edge</option>
<option value="https://msn.com">MSN</option>
<!-- <option value="http://volvo.com">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option> -->
<?php
} elseif (preg_match('/Edge/i', $user_agent)) // added for Edge browser
{
?>
<p>Here are Microsoft Edge links:</p>
<!-- Add links for Microsoft Edge browser -->
<option value="https://microsoft.com">Microsoft</option>
<option
value="https://en.wikipedia.org/wiki/Internet_Explorer">Wikipedia Microsoft Internet
Explorer</option>
<option
value="https://en.wikipedia.org/wiki/Microsoft_Edge">Wikipedia
Microsoft Edge</option>
<option value="https://msn.com">MSN</option>
<!-- <option value="https://msn.com">MSN</option> -->
<?php
} elseif (preg_match('/Firefox/i', $user_agent))
{
?>
<p>Here are links for Mozilla Firefox:</p>
<!-- Add links for Mozilla firefox browser -->
<option value="http://mozilla.org">Mozilla Firefox</option>
<option value="https://en.wikipedia.org/wiki/Mozilla">Wikipedia
Mozilla
link</option>
<option
value="https://en.wikipedia.org/wiki/Mozilla_Foundation">Wikipedia Mozilla
Foundation</option>
<?php
} elseif (preg_match('/Chrome/i', $user_agent))
{
?>
<!-- Add links for Google Chrome browser -->
<p>Here are Google Chrome links</p>
<option value="https://google.com">Google</option>
<option
value="https://en.wikipedia.org/wiki/Google">Wikipedia
Google link</option>
<option value="https://play.google.com/store">Google Play
Store</option
<?php
}
echo "<br/><br/>";
?>
</select>
<input type="submit">
</form>
</body>
</html>
欢迎使用浏览器的快速链接下拉菜单。
以下是Microsoft Internet Explorer链接:
微软
维基百科
Microsoft Internet Explorer
微软维基百科
边缘
MSN
以下是Microsoft Edge链接:
微软
维基百科微软互联网
探索者
维基百科
微软边缘
MSN
以下是Mozilla Firefox的链接:
Mozilla Firefox
维基百科
Mozilla
链接
维基百科Mozilla
基础
这里是谷歌浏览器的链接
谷歌
维基百科
反向连接
谷歌游戏
商场
非常感谢您的帮助。谢谢。取决于您使用的IE版本,新版本实际上是围绕chrome的包装,在IE11中,您需要启用兼容模式,否则它的Trident您使用的是什么版本的edge?如果执行
var\u dump($\u SERVER['HTTP\u USER\u AGENT']),您会看到什么;死亡代码>?有些版本似乎有Edg/*而不是Edge/*可能这就是你的问题。你已经安装了所有你想要的浏览器了吗?如果没有,那么就安装它们,然后对于每一个,您可以var\u dump($\u SERVER['HTTP\u USER\u AGENT'])
查看结果,然后根据情况构建条件var\u dump在我将选项选择列表放入代码时只转储选项选择列表。我已经安装了所有浏览器,但chrome是我的默认浏览器,但它可以与Firefox、Safari、chrome以及除IE和Edge之外的所有浏览器一起使用。当我使用IE或Edge时,我会得到我的“Chrome”选择列表的结果。不建议使用用户代理嗅探。改用特征检测。