php - 在 PHP 中使用浏览器检测
问题描述
所以我是 php 编程的新手,我正在尝试用 PHP 编写一个简单的脚本来检测浏览器。对于“Chrome”和“Firefox”来说一切正常,但在使用“Edge”或“MSIE”浏览器时会显示谷歌“Chrome”的选项。
这是代码,任何帮助将不胜感激。我的计算机默认浏览器是 chrome,但如果我使用 IE 或 Edge,它会显示 Chrome 的结果。我错过了什么吗???
<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>
任何帮助是极大的赞赏。谢谢。
解决方案
推荐阅读
- javascript - 检查对象数组是否包含值而不循环?
- swiftui - 翻译一个变量(在 Text() 中使用)
- php - 在php中比较两个不同的日期
- laravel - Laravel 6:禁用访客的所有路由,除了家庭和登录
- c# - 使用 MvvmLight.Messaging.Messenger 实例化新的 View + ViewModel (Window)
- c# - 有没有办法使用 C# 生成数据库的数据库设计图
- javascript - 我错过了将网络浏览器中录制的长音频发送到 oracle apex 的东西?
- date - prolog - 在日期之间生成日期
- ios - 如何在 iOS 应用上使用 Xamarin UITest 操作呈现为 UIDatePickerContentView 的 DatePicker 控件中的值
- ionic-framework - PhotoViewer 插件仅在 iOS 上显示黑屏或崩溃