Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z rozpoznawaniem systemu
dresik
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

Ostrzeżenie: (0%)
-----


Witam,
mam ogólno dostępny kod do statystyk i mam problem z rozpoznawaniem systemu.
Niewiem dlaczego ale zawsze pokazuje mi że wchodze z systemu windows XP, mimo że siedze np na Viście

Poniżej wkleje kod programu, w kodzię będzie wyświetlanie w danych momentach informacje o przeglądarce i systemie.

  1. <?php
  2. $this->agent = $_SERVER['HTTP_USER_AGENT'];
  3.  
  4. $this->fetchPlatform();
  5.  
  6. function fetchPlatform(){
  7.  
  8.    $agent = strtolower($this->agent);
  9.    
  10.    print '1. '.$agent.'<br><br>';            // wyświetlanie 1 raz zmiennej agent
  11.    
  12.    if(ereg("windows nt", $agent)){
  13.    
  14.        print '2. '.$agent.'<br><br>';        // wyświetlanie 2 raz zmiennej agent
  15.        $exp = explode('windows nt ', $agent);
  16.        $exp = explode(';', $exp[1]);
  17.        
  18.        print '3. '.$agent.'<br><br>';        // wyświetlanie 3 raz zmiennej agent
  19.  
  20.        switch($exp[0]){
  21.        case('6.0'):
  22.            $this->platform = 'Microsoft Windows Vista';
  23.        break;
  24.        case('5.2'):
  25.            $this->platform = 'Microsoft Windows Server 2003';
  26.        break;
  27.        case('5.1'):
  28.            $this->platform = 'Microsoft Windows XP';
  29.        break;
  30.        case('5.0'):
  31.            $this->platform = 'Microsoft Windows 2000';
  32.        break;
  33.        case('4.0'):
  34.            $this->platform = 'Microsoft Windows NT 4.0 Workstation';
  35.        break;
  36.        default:
  37.            $this->platform = 'Microsoft Windows NT';
  38.        break;
  39.        }
  40.    }
  41.    elseif(ereg("windows 98", $agent)){
  42.        $this->platform = 'Microsoft Windows 98';}
  43.    elseif(ereg("windows 95", $agent)){
  44.        $this->platform = 'Microsoft Windows 95';}
  45.    elseif(ereg("macosx", $agent) || ereg("macos x", $agent)){
  46.        $this->platform = 'Apple Macintosh OSX';}
  47.    elseif(ereg("macintosh", $agent) || ereg("mac", $agent)){
  48.        $this->platform = 'Apple Macintosh';}
  49.    elseif(ereg("suse", $agent)){
  50.        $this->platform = 'SuSE Linux';}
  51.    elseif(ereg("linux", $agent)){
  52.        $this->platform = 'Linux';}
  53.    elseif(ereg("freebsd", $agent) || ereg("free bsd", $agent) || ereg("bsd", $agent)){
  54.        $this->platform = 'Free BSD';}
  55.    else{
  56.        $this->platform = 'undefined';}
  57. }
  58. ?>



Poniżej wkleje wyświetlany wynik z różnych przeglądarek i systemów:

Cytat
// windows XP - opera

1. opera/9.80 (windows nt 5.1; u; en) presto/2.2.15 version/10.00
2. opera/9.80 (windows nt 5.1; u; en) presto/2.2.15 version/10.00
3. opera/9.80 (windows nt 5.1; u; en) presto/2.2.15 version/10.00

1. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
2. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
3. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)


// windowx xp - ie8

1. mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0; .net clr 1.1.4322)
2. mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0; .net clr 1.1.4322)
3. mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0; .net clr 1.1.4322)

1. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
2. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
3. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)


// windows xp - firefox

1. mozilla/5.0 (windows; u; windows nt 5.1; pl; rv:1.9.0.11) gecko/2009060215 firefox/3.0.11
2. mozilla/5.0 (windows; u; windows nt 5.1; pl; rv:1.9.0.11) gecko/2009060215 firefox/3.0.11
3. mozilla/5.0 (windows; u; windows nt 5.1; pl; rv:1.9.0.11) gecko/2009060215 firefox/3.0.11

1. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
2. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
3. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)


// windows vista - ie7

1. mozilla/4.0 (compatible; msie 7.0; windows nt 6.0; slcc1; .net clr 2.0.50727; .net clr 3.0.04506)
2. mozilla/4.0 (compatible; msie 7.0; windows nt 6.0; slcc1; .net clr 2.0.50727; .net clr 3.0.04506)
3. mozilla/4.0 (compatible; msie 7.0; windows nt 6.0; slcc1; .net clr 2.0.50727; .net clr 3.0.04506)

1. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
2. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)
3. mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; .net clr 1.1.4322; infopath.1; .net clr 1.0.3705; .net clr 2.0.50727; infopath.2)


Dlaczego jest to podwójnie wyświetlane i dlaczego za pierwszym razem sie wyświetla ok a za drugim razem cos innego, ale w każdym przypadku jest to samo

Dlaczego w ostatnim przykładzie wyświetlania windows vista - ie7 zwracana jest wersja systemu z drugiego wyświetlania czyli 5.1 a przeglądarka jest zwracana z pierwszego wyświetlania czyli 7,0

Obydwie dane są tak samo pobierane.

Proszę o pomoc ponieważ naprawdę już niewiem co z tym mam zrobić.

Ten post edytował dresik 13.07.2009, 14:22:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:22