Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с определением броузера/ОСы, Браузер Unknown Операционная сис Unknown 
V
    Опции темы
ReactOS
  Дата 11.3.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Привет!

Почему у меня не опрделяется брозуер и ОСа?

Код

<?php
function detect_browser($HTTP_USER_AGENT) {
// Браузер и его версия
 if (eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Opera";
  $browser[version] = $match[2];
 }
 elseif (eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Konqueror";
  $browser[version] = $match[2];
 }
 elseif (eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Lynx";
  $browser[version] = $match[2];
 }
 elseif (eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Links";
  $browser[version] = $match[2];
 }
 elseif (eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "MSIE";
  $browser[version] = $match[2];
 }
 elseif (eregi("(netscape6)/(6.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Netscape";
  $browser[version] = $match[2];
 }
 elseif (eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Netscape";
  $browser[version] = $match[2];
 }
 elseif (eregi("mozilla/5", $HTTP_USER_AGENT)) {
  $browser[name] = "Netscape";
  $browser[version] = "Unknown";
 }
 elseif (eregi("w3m", $HTTP_USER_AGENT)) {
  $browser[name] = "w3m";
  $browser[version] = "Unknown";
 }
 else {
  $browser[name] = "Unknown";
  $browser[version] = "Unknown";
 }

// Операционная система
 if (eregi("linux", $HTTP_USER_AGENT)) $browser[os] = "Linux";
 elseif (eregi("win32", $HTTP_USER_AGENT)) $browser[os] = "Windows";
 elseif ((eregi("(win)([0-9]{2})", $HTTP_USER_AGENT, $match)) || (eregi("(windows) ([0-9]{2})", $HTTP_USER_AGENT, $match))) $browser[os] = "Windows ".$match[2];
 elseif (eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[2];
 elseif (eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[3];
 elseif (eregi("mac", $HTTP_USER_AGENT)) $browser[os] = "Macintosh";
 elseif (eregi("(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "SunOS ".$match[2];
 elseif (eregi("(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "BeOS ".$match[2];
 elseif (eregi("freebsd", $HTTP_USER_AGENT)) $browser[os] = "FreeBSD";
 elseif (eregi("openbsd", $HTTP_USER_AGENT)) $browser[os] = "OpenBSD";
 elseif (eregi("irix", $HTTP_USER_AGENT)) $browser[os] = "IRIX";
 elseif (eregi("os/2", $HTTP_USER_AGENT)) $browser[os] = "OS/2";
 elseif (eregi("plan9", $HTTP_USER_AGENT)) $browser[os] = "Plan9";
 elseif (eregi("unix", $HTTP_USER_AGENT) || eregi("hp-ux", $HTTP_USER_AGENT)) $browser[os] = "Unix";
 elseif (eregi("osf", $HTTP_USER_AGENT)) $browser[os] = "OSF";
 else $browser[os] = "Unknown";

 return $browser;
}

$browser = detect_browser($HTTP_USER_AGENT);
echo "Браузер: ".$browser[name]." ".$browser[version]."\nОперационная система: ".$browser[os];


Во всех броузерах выдает:
Браузер: Unknown Unknown Операционная система: Unknown

Это сообщение отредактировал(а) ReactOS - 11.3.2008, 17:08
PM   Вверх
bars80080
Дата 11.3.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



возможно стоит писать
$browser['name'] , а не $browser[name]
PM MAIL WWW   Вверх
Canarat
Дата 11.3.2008, 17:40 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Потому что в 66 строчке должно быть:
Код

$browser = detect_browser($_SERVER['HTTP_USER_AGENT']);

Т.к. register_globals не включен ни у вас, ни у меня.

PM MAIL   Вверх
ReactOS
Дата 11.3.2008, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(Canarat @ 11.3.2008,  17:40)
Потому что в 66 строчке должно быть:
Код

$browser = detect_browser($_SERVER['HTTP_USER_AGENT']);

Т.к. register_globals не включен ни у вас, ни у меня.

Точно  smile  smile 

Спасибо!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0658 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.