Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу. / 18 сообщений из 18, страница 1 из 1
10.08.2013, 13:49
    #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
10.08.2013, 14:09
    #38361857
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
...
Рейтинг: 0 / 0
10.08.2013, 15:11
    #38361880
mrMove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
vkle,

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

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

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

В .htaccess я очень плохо разбираюсь. А тут у меня в принципе сложная задача(по крайней мере для меня) и делать через .htaccess не вариант. Но если ты покажешь как это сделать я буду сильно благодарен)
...
Рейтинг: 0 / 0
11.08.2013, 15:51
    #38362327
mrMove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
Если у кого-то есть другое решение моей проблемы поделитесь пожалуйста)
...
Рейтинг: 0 / 0
11.08.2013, 16:52
    #38362355
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
mrMoveрешение моей проблемыА в чем проблема то?
...
Рейтинг: 0 / 0
11.08.2013, 18:05
    #38362382
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
в отсутствии знаний пшп
...
Рейтинг: 0 / 0
11.08.2013, 18:37
    #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
11.08.2013, 20:18
    #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
11.08.2013, 20:29
    #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
11.08.2013, 20:33
    #38362452
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
Подумалось, вместо самописной user_browser() наверно вполне можно использовать штатную функцию http://www.php.net/manual/ru/function.get-browser.php
...
Рейтинг: 0 / 0
17.08.2013, 13:50
    #38369706
mrMove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
Вопрос решен. Тему можно закрыть.
...
Рейтинг: 0 / 0
17.08.2013, 21:56
    #38369851
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
mrMoveВопрос решен.Так поделитесь решением, может кому пригодится.
...
Рейтинг: 0 / 0
22.08.2013, 21:35
    #38375298
mrMove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить тип и версию браузера у посетителя и перенаправить его на нужную страницу.
Вот ссылка http://dfiles.ru/files/0lkazyb3m

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

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

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


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


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