Как я могу определить браузер и ОС пользователя и использовать это для динамического изменения моего запроса к базе данных MySQL со страницы PHP - PullRequest
0 голосов
/ 20 декабря 2010

Мне нужно иметь возможность выполнить запрос MySQL и пропустить определенные результаты, если пользователь использует определенный браузер в определенной ОС. Мой запрос к базе данных происходит из службы AMFPHP, и у меня есть сценарий javascript browserDetect, который я могу использовать, чтобы получить пользовательский браузер и ОС.

В идеале я хочу запустить скрипт browserDetect, когда пользователь заходит на мою страницу, и затем сохранить его в переменных сеанса PHP, но я не вижу, как передать переменные javascript в сеанс PHP. Это позволило бы моему сценарию запроса базы данных искать сеанс и соответственно изменять запрос. Я также попытался включить скрипт обнаружения браузера в сценарий AMFPHP, но это не сработало - я понимаю, что это проблема серверной стороны по сравнению с клиентской.

Какие другие решения будут работать для меня?

спасибо

Ответы [ 4 ]

4 голосов
/ 20 декабря 2010

Почему бы не сделать это только с помощью PHP?PHP также способен извлекать браузер и OS ...
$_SERVER['HTTP_USER_AGENT'] содержит браузер и OS ...

2 голосов
/ 20 декабря 2010

Как сказал @thedom, просто используйте $_SERVER['HTTP_USER_AGENT'] в PHP.Ваш пользовательский агент (если не изменен пользователем) будет содержать браузер, версию браузера и ОС.Вот мое:

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.15 (KHTML, like Gecko) Chrome/10.0.612.1 Safari/534.15

НО, если вы хотите использовать javascript, вам придется сделать что-то похожее на то, что я делал для реализации входа в AJAX.сценария (login.php)

session_id($_POST['PHPSESSID']);
session_start();

И на этой странице будет запускаться javascript для обнаружения сеанса (index.php)

$sessionid = ($_COOKIE['PHPSESSID']) ? $_COOKIE['PHPSESSID'] : $_GET['PHPSESSID'];
<script type="text/javascript">var session = "$sessionid";</script>

А затем я отправляюдругой скрипт (login.php) (для входа через ajax в этом случае)

$.post("ajax/login.php",PHPSESSID=" + session);

Использование JQuery.

1 голос
/ 20 декабря 2010

вы можете установить результаты из javascript browserDetect в cookie javascript, и PHP может читать cookie из этого

подробности: Как читать Javascript cookie с PHP

0 голосов
/ 20 декабря 2010

Другим решением было бы позволить javascript сделать ajax-запрос, содержащий OS / Browser, но лучшим способом может быть анализ пользовательского агента.

...