powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
18 сообщений из 18, страница 1 из 1
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38361844
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно определить версию браузера у посетителя и перенаправить его на соответствующую страницу. Т.е. сначала определяем тип, потом версию, и в зависимости от типа и версии перенаправляем на нужную страницу.

Вот код который определяет тип и версию браузера.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?

function user_browser($agent) {
	preg_match("/(MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/", $agent, $browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
        list(,$browser,$version) = $browser_info; // получаем данные из массива в переменную
        if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera)) return 'Opera '.$opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
        if ($browser == 'MSIE') { // если браузер определён как IE
                preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie); // проверяем, не разработка ли это на основе IE
                if ($ie) return $ie[1].' based on IE '.$version; // если да, то возвращаем сообщение об этом
                return 'IE '.$version; // иначе просто возвращаем IE и номер версии
        }
        if ($browser == 'Firefox') { // если браузер определён как Firefox
                preg_match("/(Flock|Navigator|Epiphany)\/([0-9.]+)/", $agent, $ff); // проверяем, не разработка ли это на основе Firefox
                if ($ff) return $ff[1].' '.$ff[2]; // если да, то выводим номер и версию
        }
        if ($browser == 'Opera' && $version == '9.80') return 'Opera '.substr($agent,-5); // если браузер определён как Opera 9.80, берём версию Оперы из конца строки
        if ($browser == 'Version') return 'Safari '.$version; // определяем Сафари
        if (!$browser && strpos($agent, 'Gecko')) return 'Browser based on Gecko'; // для неопознанных браузеров проверяем, если они на движке Gecko, и возращаем сообщение об этом
        return $browser.' '.$version; // для всех остальных возвращаем браузер и версию
}
echo user_browser($_SERVER['HTTP_USER_AGENT']);

?>



А как сделать перенаправление? У меня не получается(
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38361857
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38361880
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Это я знаю. У меня не получается сделать перенаправление по условию. Т.е. на страницу для нужного браузера.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38361905
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так опишите хотя бы эти условия и покажите, как их пытаетесь обработать.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38361952
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mrMove,

Думаю, редирект надо в .htaccess прописать.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362320
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Если честно я так и не смог перенаправить. Не знаю куда подставить перенаправление что бы правильно определился браузер и его версия и посетителя перенаправило на нужную страницу.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362324
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
phpz,

В .htaccess я очень плохо разбираюсь. А тут у меня в принципе сложная задача(по крайней мере для меня) и делать через .htaccess не вариант. Но если ты покажешь как это сделать я буду сильно благодарен)
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362327
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у кого-то есть другое решение моей проблемы поделитесь пожалуйста)
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362355
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrMoveрешение моей проблемыА в чем проблема то?
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362382
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в отсутствии знаний пшп
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362396
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в решение моей задачи: нужно у посетителя определить тип и версию браузера, и для определенного браузера редирект на определенную страницу. Если определяется Firefox ниже 20 версии то переход на "страница1", если 20 или выше, то "страница2"
Если определяется Opera ниже 12 версии то переход на "страница1", если 12 или выше, то "страница2"
Если определяется Chrome ниже 27 версии то переход на "страница1", если 27 или выше, то "страница2"
Если определяется IE ниже 8 версии то переход на "страница1", если 8 или выше, то "страница2"
Если определяется Safari ниже 5 версии то переход на "страница1", если 5 или выше, то "страница2"

Скрипт который определяет браузер есть, но он не перенаправляет посетителя, и я не знаю как его исправить(не хватает знаний php).

Если не знаете как переделать этот код(или не хотите) то хотя бы подскажите как это сделать.


Если у кого-то есть код который мне нужен поделитесь пожалуйста)
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362443
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При такой постановке задачи из вышеприведенного кода функции нужны только две строчки - для определения типа и версии браузера (под спойлером):
Код: php
1.
2.
	preg_match("/(MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/", $agent, $browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
        list(,$browser,$version) = $browser_info; // получаем данные из массива в переменную



Параметры задания границ перенаправления наверно в массив загнать проще. Думаю, так:
Код: php
1.
2.
3.
4.
5.
6.
$browser_ver = array(
	'Firefox' => 20,
	'Opera' => 12,
	'Chrome' => 27,
//и так далее
);



Далее проверка условия и редирект:
Код: php
1.
2.
3.
4.
5.
if($version >= $browser_ver[$browser]) 
	header('Location: ...страница1...');
else
	header('Location: ...страница2...');
die();



PS: Что делать с неопределившимися браузерами и с теми, для которых условий не задано - в задаче не сказано. Потому оставил "как уж получилось"
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362449
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleнужны только две строчкиХотя... поспешил, наверно.

Вариант с использованием функции целиком:
Последнюю строчку в функции изменим на
Код: php
1.
return array('browser'=>$browser, 'version'=>$version);


тогда:
Код: php
1.
2.
3.
4.
5.
6.
$ua = user_browser($_SERVER['HTTP_USER_AGENT']);
if($ua['version'] >= $browser_ver[$ua['browser']]) 
	header('Location: ...страница1...');
else
	header('Location: ...страница2...');
die();
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38362452
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумалось, вместо самописной user_browser() наверно вполне можно использовать штатную функцию http://www.php.net/manual/ru/function.get-browser.php
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38369706
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос решен. Тему можно закрыть.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38369851
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrMoveВопрос решен.Так поделитесь решением, может кому пригодится.
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38375298
mrMove
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ссылка http://dfiles.ru/files/0lkazyb3m

Вложения почему-то не грузятся( Да и копеечку хоть заработаю)

Кто может помогите с новым кодом новым кодом
...
Рейтинг: 0 / 0
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
    #38375299
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrMove,

Почему Вы даете ссылку на сторонний файлообменный сайт вместо описания своего способа решения?


mrMoveДа и копеечку хоть заработаю)Чтоб на Вас так же зарабатывали.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]