![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
chcialbym napisac skrypt ktory wykrywalby z jakiego kraju przychodzi uzytkownik. Robie stronke dla kilku wersju jezykowych (en, de, fr). No i chcialbym, ze jezeli uzytkownik bedzie z innego kraju niz wyzej wymienione, to zaladuje mu sie domyslna wersja jezykowa. No i pojawia sie problem jak wykryc kraj? Probowalem za pomoca zmiennej $_SERWER ["REMOTE_ADDR"], no ale co gdy nie bedzie nazwy i dostane tylko IP?! Takze to chyba odpada. Moge jeszcze HTTP_ACCEPT_LANGUAGE ale pojawia sie problem. Brat testowal to w Kanadzie. Ma angielskie oprogramowanie, ma ustawiona tylko polska klawiature i jezyk systemie na pl. No i HTTP_ACCEPT_LANGUAGE pokazuje mu "pl". U siebie (mam "polskie oprogramowanie") przestawilem jezyk i klawiature na EN ale tez mi pokazuje "pl". Sprawdzalem inne posty, ale sa dosyc stare z 2005 i generalnie nie rozwiazuja poroblemu. Nie chcialbym ladwac baz z krajami i dolkejac skrypty. Prosze o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Moze macie jakies pomysly. ps. co prawda pozostaje jeszcze JavaScript, ale nie moznaby jakos zrobic tego za pomoca php? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Poszukaj w googlach - jest sporo baz (dość dużych) oferujących prezentacje z jakiego miasta i kraju pochodzi użytkownik, który odwiedza stronę. Dodatkowo możesz znaleźć położenie geograficzne, do pokazania na maps.google.com
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
No ale ja nie chce korzystac z zadnych baz, bo i po co?! Bede mial tylko 3 wersje jezykowe, a dla pozostalych jezykow zaladuje sie domyslna wersja angielska.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
No to musisz sobie zrobić cache ip-ków albo zastosować jakiś program shellowy (ale musisz mieć dostęp do shella i ten program musi być zaistalowany). Jednakże działa on na tej samej zasadzie co powyzej.
Istnieje też możliwość pobierania tych informacji ze stron które udostępniają usługę sprawdzania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Niedawno toczylismy o tym dyskusje na ircu, najlepoiej miec dwie tabele jedna z krajami-kodami druga z zasiegami IP-kodami, IPka w postaci integera sluzy do tego funckcja ip2long. Przez to ze zapisujesz tylko zasiegi tych adresow a sam adres jest w postaci liczby calkowitej mozesz osiagnac dobry czas sprawdzania. Jesli potrzebujesz tylko 3-4 jezykow to co za problem umiesic tylko 3-4 zasiegi ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
To skoro znasz wszystkie klasy adresów to czemu się pytasz?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
@wipo eee chyba sie pomyliles, ja o nic nie pytam tylko sugeruje rozwiazania, ktore swoja droga wydaje mi sie najlepsze (no chyba ze ktos korzysta z jakis azjatyckich proxy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
Ten post edytował thornag 18.12.2006, 10:43:36 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej robić własny cache a jak nie znajduje adresu w lokalnej bazie (cache) to odpytać stronę taką jak
http://pilzz.ath.cx/geoip/ ? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem po co sobie komplikowac. Przeciez skoro to maja byc tylko trzy jezyki to nietrudno zdobyc zasiego takich adresow, a pozniej tylko sprawdzasz a poleganie na zewnetrznych serwisach moze sie okazac 'trudne do utrzymania'.
Ewentualnie jest jeszcze rozwiazanie domenowe (takie jak no na php.net), w zaleznie od domeny ktorej klient uzywa wchodzac taki ustawiasz jezyk, ale jak wiadomo nie jest to do konca pewne. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
thornag a moglbys mi podpowiedziec jak moge sprawdzic zasieg takich adresow i jak to pozniej wykorzystac? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jestem poczatkujacy i narazie za bardzo nie rozumiem o czym piszesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Jest sporo baz na necie typu ip2country, sciagnij sobie taka baze, zapisz sobie ipki tylko interesujacych Cie krajow, zapisz to u siebie w bazie a pozniej sprawdzaj ip.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A inaczej tego nie mozna zrobic? tzn. nie korzystac z tego typu baz.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 18:13 |