Javascript внутри обнаружения браузера PHP - PullRequest
0 голосов
/ 14 июня 2011

Может кто-нибудь сказать мне, почему я продолжаю получать else и alert вообще не запускается? Файл cookie устанавливается только при открытом браузере.

<?php
$setcookie = setcookie('version', 'nova');
$browser = get_browser(null, true);
    if(!isset($setcookie)){
        if($browser["MSIE"] < 8.0){
        // display message or alert!

               echo "<script language=\"JavaScript\">\n"; 
               echo 'alert("Please upgrade to version 8.0+ in order to view this site.");';
               echo "</script>";
        }
       }

        else

        {
            echo "Browser is current:";
        }

?>

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Ваше if состояние неверно. Вы хотите проверить массив $_COOKIE, а не возвращаемое значение setcookie.

if(!isset($_COOKIE['version'])) {
  ...
}
2 голосов
/ 14 июня 2011

Я не думаю, что get_browser() возвращает то, что, по вашему мнению, возвращает?См. Руководство: http://php.net/manual/en/function.get-browser.php

Вы хотите ознакомиться с полями [browser] и [version].

1 голос
/ 14 июня 2011

PHP метод get_browser () очень медленный. Лучше использовать что-то вроде

$useragent = $_SERVER['HTTP_USER_AGENT']; 

тогда вы можете сделать preg_match как показано ниже

if(preg_match('/MSIE/i',$useragent)){
    //echo something here
}
else{
    //do something else
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...