Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> statystyki, funkcje, jak to zrobić
Axel
post 27.02.2005, 19:32:09
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 8.01.2005
Skąd: Gdańsk

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


witam, dość długo szukałem informacji jak pobrać od odwiedzającego strone informacje z jakiego korzysta systemu i z jakiego jest kraju, narazie udało mi sie uzyskać, host, ip przeglądarke, rozdzielczość, ale niewiem jak w przypadku 2 wyżej wymienionych rzeczy sad.gif

w manualu jest dla przykładu podany taki kod:
  1. <?php
  2. echo $_SERVER['HTTP_USER_AGENT'] . &#092;"<hr />n\";
  3.  
  4. $browser = get_browser();
  5.  
  6. foreach ($browser as $name => $value) {
  7.  echo &#092;"<b>$name</b> $value <br />n\";
  8. }
  9.  
  10. ?>


$_SERVER['HTTP_USER_AGENT'] tego używam do wykrycia przeglądarki, ale jak z tego pobrać i czy sie da system operacyjny ? chodzi mi oto żeby był w osobnej zmiennej zapisany żebym później dodał tą informacje do bazy, po zastosowaniu tego kodu na stronie otrzymuje:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322)
--------------------------------------------------------------------------------

Warning: get_browser(): browscap ini directive not set. in c:\usr\krasnal\www\test2\sys.php on line 4

Warning: Invalid argument supplied for foreach() in c:\usr\krasnal\www\test2\sys.php on line 6

niby cos na górze pokazuje, ale jak wyciągnąć tylko system ?, bo to mnie interesuje ... no i z jakiego kraju pochodzi odwiedzający ... prosze o pomoc
Go to the top of the page
+Quote Post
strife
post 27.02.2005, 19:40:07
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Swojego czasu też musiałem coś takiego napisać, masz skrypt na przeglądarkę, co do kraju nie wiem. Ale chyba musisz skorzystać z bazy danych adresów IP. Nie mam pojęcia może ci ktoś inny doradzi co do kraju, ale do rzeczy:

  1. <?php
  2.  
  3. global $ex;
  4.  
  5.  function s_explorer($agent) {
  6.      global $ex;
  7.  
  8.  
  9.  if (ereg(&#092;"Mozilla/3.01\", $agent))
  10.  {
  11.      $ex = &#092;"Internet Explorer 3\";
  12.  }
  13.  if (ereg(&#092;"MSIE\", $agent))
  14.  {
  15.    $ex = &#092;"Internet Explorer \".substr($agent, strpos($agent, \"MSIE\")+5, 1);
  16.  
  17.  }
  18.  if (ereg(&#092;"Mozilla/4.7\", $agent))
  19.  {
  20.      $ex = &#092;"Netscape 4\";
  21.  
  22.  }
  23.  
  24.  if (ereg(&#092;"Gecko\", $agent))
  25.  {
  26.      $ex = &#092;"Netscape 6\";
  27.  }
  28.  if (ereg(&#092;"Firefox\", $agent))
  29.  {
  30.      $ex = &#092;"Firefox\";
  31.  
  32.  }
  33.  if (ereg(&#092;"Lynx\", $agent))
  34.  {
  35.      $ex = &#092;"Lynx\";
  36.  
  37.  }
  38.  if (ereg(&#092;"Opera\", $agent))
  39.  {
  40.      $ex = &#092;"Opera\";
  41.  
  42.  }
  43.  
  44.  
  45. }
  46.  
  47.   $agent = $_SERVER['HTTP_USER_AGENT'];
  48.   s_explorer($agent);
  49.  
  50. echo 'Twoja przegladarka to:'.$ex;
  51.  
  52. ?>


Pozdrawiam!

Ten post edytował scarface 27.02.2005, 19:40:50


--------------------
Go to the top of the page
+Quote Post
rogrog
post 27.02.2005, 19:53:39
Post #3





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


wiele razy bylo na forum jak okreslic kraj na podstawie IP (baza adresów)
co do przeglądarki: JS określa przeglądarkę i przesyła jakoś do skryptu. Pewnie w ten sam sposób pobierasz rozdzielczość


--------------------
Go to the top of the page
+Quote Post
Axel
post 27.02.2005, 19:55:09
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 8.01.2005
Skąd: Gdańsk

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


ja na przeglądarke połączyłem 2 przykłady z manuala i mam coś takiego:

  1. <?php
  2.  
  3. $browser = array (
  4.    &#092;"MSIE\",            // parent
  5.    &#092;"OPERA\",
  6.    &#092;"MOZILLA\",        // parent
  7.    &#092;"NETSCAPE\",
  8.    &#092;"FIREFOX\",
  9.    &#092;"SAFARI\"
  10. );
  11.  
  12. $info[browser] = &#092;"OTHER\";
  13.  
  14. foreach ($browser as $parent) {
  15.    $s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
  16.    $f = $s + strlen($parent);
  17.    $version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
  18.    $version = preg_replace('/[^0-9,.]/','',$version);
  19.    
  20.    if (strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent)) {
  21.    $info[browser] = $parent;
  22.    $info[version] = $version;
  23.  
  24.  
  25.  
  26. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') )
  27. {
  28.    if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') )   
  29.    {
  30.      $browser = 'Netscape ';
  31.      
  32.    }
  33.    else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') )
  34.    {
  35.      $browser = 'Mozilla Firefox ';
  36.    }
  37.    else
  38.    {
  39.      $browser = 'Mozilla ';
  40.    }
  41. }
  42. else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') )
  43. {
  44.    if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') )
  45.    {
  46.      $browser = 'Opera ';
  47.      
  48.     }
  49.    else
  50.    {
  51.      $browser = 'Internet Explorer ';
  52.    }
  53. }
  54. else
  55. {
  56.    $browser = 'Others browsers';
  57. }
  58.  
  59. echo $browser; echo $version;
  60.  
  61.    }
  62. }
  63.  
  64. ?>

niewiem czy jest to poprawny kod ale pokazuje dobrze smile.gif dzieki za odpowiedź, a z tym krajem może ktoś bedzie wiedzial ohmy.gif

EDIT:
rozdzielczość pobieram tak:
  1. <?
  2. $resolution = '<script>';
  3. $resolution.= 'document.write(screen.width + \" x \" + screen.height);';
  4. $resolution.= '</script>';
  5. echo 'Resolution: '.$resolution; 
  6. ?>

a możesz podać linki gdzie to było na forum bo nie znalazłem sad.gif

Ten post edytował Axel 27.02.2005, 19:56:57
Go to the top of the page
+Quote Post
strife
post 27.02.2005, 20:00:13
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


http://forum.php.pl/index.php?showtopic=25767
http://forum.php.pl/index.php?showtopic=26653

Może to cię nakieruje.


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 27.02.2005, 20:26:42
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


print_r( $_SERVER )
lub tez
php_info() i tam szukaj przegladarki


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Kocurro
post 27.02.2005, 21:09:19
Post #7





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Ścągnij sobie Imperator Stats i Bitlog Stats - potem przejrzyj ich kod i wykrozystaj co potrzeba smile.gif

Co do tablic geolokalizacyjnych to firma MaxMind oferuje darmową tablicę z trafnością około 95%.

Poza tym jak chcesz wykryć przelądarkę to najpeirw sprawdź czy zawiera ciag Opera - jeśli tak to jest to przegladarka Opera, która podszywa się pod inną.

Pozdrawiam
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:45