Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: $_SERVER['HTTP_USER_AGENT']
 
 автор: Alon   (11.07.2007 в 07:12)   письмо автору
 
 

Здравствуйте! Ситуация такая: есть сайт, написанный на xhtml mobile и мне надо сделать чтоб при попытки захода на него с MSIE пользователь попадал на html версию, а при заходе с Оперы или с телефона пользователь оставалься на xhtml версии. Так вот вопрос: как более правильно и оптимально сделать проверку? Неужели так:

$brauser = $_SERVER['HTTP_USER_AGENT'];
if (strstr($brauser, "MSIE")):
  //то посылаем посетителя на html версию
else :
  //оставляем на xhtml
endif;

   
 
 автор: Alon   (11.07.2007 в 08:40)   письмо автору
 
   для: Alon   (11.07.2007 в 07:12)
 

Похоже другого способа нет. Жаль...

   
 
 автор: Unkind   (11.07.2007 в 09:32)   письмо автору
 
   для: Alon   (11.07.2007 в 08:40)
 

Нет, есть.

   
 
 автор: Alon   (11.07.2007 в 09:57)   письмо автору
 
   для: Unkind   (11.07.2007 в 09:32)
 

А как? Unkind, подскажи плиз!

   
 
 автор: Unkind   (11.07.2007 в 10:06)   письмо автору
 
   для: Alon   (11.07.2007 в 09:57)
 

Ну есть тысяча и один способ как определить есть ли в User-Agent подстрока "MSIE".
А если Вы имеете ввиду есть ли другой способ, который не связан с User-Agent, то в таком случае нельзя сделать по-другому.
Так что Вы имеете ввиду под "другим способом"?

   
 
 автор: Alon   (11.07.2007 в 10:16)   письмо автору
 
   для: Unkind   (11.07.2007 в 10:06)
 

Пожалуй вы правы, в php определение агента возможно только с помощью USER_AGENT.
Мне как раз и надо с помощью него определить браузер мелко мягких, но только надо чтоб скрипт работал надёжно, а то я в своей конструкции сомневаюсь. Мне не надо тысячи способов, хотя бы 2, попроще.

   
 
 автор: Unkind   (11.07.2007 в 10:26)   письмо автору
 
   для: Alon   (11.07.2007 в 10:16)
 

Я разве говорил что-то про то, сколькими способами можно определить User-Agent?

Насчет еще одного способа:
<?php
if(strpos($_SERVER["HTTP_USER_AGENT"], "Opera") === false && strpos($_SERVER["HTTP_USER_AGENT"], "MSIE") !== false)
{
//Это MSIE
}
else
{
//Что-то другое

?>

   
 
 автор: Alon   (11.07.2007 в 10:33)   письмо автору
 
   для: Unkind   (11.07.2007 в 10:26)
 

Хм... Ну не знаю, вы думаете этот вариант надёжнее? Если да то чем?

   
 
 автор: Unkind   (11.07.2007 в 10:40)   письмо автору
 
   для: Alon   (11.07.2007 в 10:33)
 

Тем, что в Opera есть переключатель, который позволяет поставить UA с подстрокой "MSIE".
Ваш скрипт таких пользователей на HTML-версию кидать будет.

   
 
 автор: Alon   (11.07.2007 в 10:51)   письмо автору
 
   для: Unkind   (11.07.2007 в 10:40)
 

Тоесть если в Опера переключить на Explorer, то браузер будет отправлять и "Opera" и "MSIE" одновременно?

   
 
 автор: Unkind   (11.07.2007 в 11:02)   письмо автору
 
   для: Alon   (11.07.2007 в 10:51)
 

Да. Сами проверьте.

   
 
 автор: Alon   (11.07.2007 в 11:03)   письмо автору
 
   для: Unkind   (11.07.2007 в 11:02)
 

Благодарю!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования