Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Не работает "Определитель браузера"

#1 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 03 Май 2009 - 15:30

Сначала думал есть функция определения браузера, но не нашел. Потом случайно наткнулся на такой код. Чуть его переделал для себя:
<?
if(eregi("opera",$HTTP_USER_AGENT))
$browser = "OP";

else if(eregi("msie",$HTTP_USER_AGENT)) 
$browser = "IE";

else if(eregi("Mozilla.[4.]",$HTTP_USER_AGENT))
$browser = "NS";

else if(eregi("Mozilla.[5|6]",$HTTP_USER_AGENT))
$browser = "MO";

else
$browser = "FN";

if ($browser == "IE") {
echo "Интернет експлоер";
}

else if ($browser == "NS") {
echo "NetScape";
}

else if ($browser == "OP") {
echo "Opera";
}

else
echo "Хз";
?>

Но у меня в 2 браузерах пишет "ХЗ". Где ошибка? или есть стандартная функция определения браузера?

 

 

  • 0


#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 03 Май 2009 - 22:27

Banderas, браузеров очень много. К примеру ты тут не учёл ни maxton, ни Safari, а так же щас появился Google браузер. Зачем тебе такая задачка? Она решается через JavaScript. Даже в исходниках этого форума можно посмотреть решение. Через PHP конечно тоже можно, Но скорее всего удобнее не грузить сервер такими задачками.
Определение браузера с помощью Javascript
  • 0

#3 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 03 Май 2009 - 22:45

А я думал что в PHP есть что-то типа "get_browser_name". Недодумали разработчики PHP о такой функции))
  • 0


#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 03 Май 2009 - 23:43

Banderas, какая такая функция? PHP как мы видим возвращает USER-AGENT, это и есть строка браузера, там много что расписано. А для нас важно вообще только какой это браузер. Поэтому нам надо искать в строке подстроки.
Как может существовать функция вывода браузера, если названия постоянно меняются, версии обновляются. За всем не уследишь...
  • 0

#5 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 04 Май 2009 - 00:27

ну например get_browser_name определяет версию браузера, а тебе надо именно 2 браузера, в которых дизайн некоректно изображается. Пишешь типа если get_browser_name == "IE6", выводим инклуде стайл.цсс
  • 0



Оформление форума – IPBSkins.ru