Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: определение браузера пользователя
Форумы портала PHP.SU » PHP » Программирование на PHP » определение браузера пользователя

Страниц (1): [1]
 

1. Itan - 17 Октября, 2008 - 14:03:48 - перейти к сообщению
Здравствуйте! Подскажите, пожалуйста, есть ли способ с помощью php опознать браузер пользователя, и в зависимости от результата вывести определённое содержимое. Я знаю, можно с помощью JS, но это не подходит...
2. IOpeH - 17 Октября, 2008 - 14:13:24 - перейти к сообщению
$_SERVER["HTTP_USER_AGENT"]


Но инфа может быть подднелана
3. Itan - 17 Октября, 2008 - 14:14:59 - перейти к сообщению
IOpeH пишет:
Но инфа может быть подднелана


То есть?
4. IOpeH - 17 Октября, 2008 - 14:22:07 - перейти к сообщению
Itan, тоесть может быть совершенно любая строка или пустая строка
5. Itan - 17 Октября, 2008 - 14:26:03 - перейти к сообщению
Спасибо!
6. Itan - 17 Октября, 2008 - 16:30:43 - перейти к сообщению
Теперь возник другой вопрос. Переменная $_SERVER["HTTP_USER_AGENT"] выводит "все" данные о юзере - операционка, версию и название браузера и т.п; (башка уже не варит в конце дня) подскажите, с помощью чего можно найти подстроку? То есть пример: эта функция, к примеру, в Опере выводит следущее:
Цитата:
Opera/9.52 (Windows NT 5.1; U; ru)
, IE -
Цитата:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
, FF -
Цитата:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9) Gecko/2008052906 Firefox/3.0
. Не надо находить версию, операционку, нужно ТОЛЬКО название браузера. Нужна функция, которая ищет подстроку, типа
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $x=$_SERVER["HTTP_USER_AGENT"] ;
  4. if (в строке $x содержится MSIE)  {вывести то-то
  5. } elseif (в строке $x содержится Opera) {вывести то-то}
  6. ?>
  7.  

Возможно сделать с помощью строковых функц?
7. IOpeH - 17 Октября, 2008 - 17:52:31 - перейти к сообщению
если тебе надо просто браузер без версий, то создай список искомых браузеров и в цикле проверяй на искомую подстроку с помощью ereg()

если еще и версии определить надо, то либо используй ту же схему, но только список будет больше, либо сначало определи браузер, а потом определяй версию

а вообще я на 99% уверен что это все бред и это совсем не нужжно делать

 

Powered by ExBB FM 1.0 RC1