Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Narodowosc w php
Forum PHP.pl > Forum > PHP
TroodoN
yo

Kazda osoba ktora sie loguje na stronke zostawia po sobie slad (to oczywiste). Aby ten slad przerobic na panstwo z ktorego osoba sie zalogowala uzywam funkcji getenv("HTTP_ACCEPT_LANGUAGE").

Niby jest ok ale tylko pod IE (pod IE pokazuje mi tylko skrot panstwa np PL). W innych przypadkach (np w mozilli) funkcja ta wywala mi skrot panstwa + krzaki. Sciagnalem mozille i podpatrzylem jakie to krzaki wywala i wyodbrebnilem z nich skrot i bylo ok... do czasu gdy namowilem kogos przypadkowego (akurat ktos z brazylii) aby sie zalogowal na stronke. No i wywalilo mi zupelnie inny krzak (ze skrotem w srodku).

Czy jest jakis sposob na to aby tylko skroty panstw wyodrebniac?
Teodor
Cytat
jakie to krzaki wywala


Moze jasniej?

Pozdrawiam
TroodoN
w IE mam zwykle: pl
w mozilli mam to: pl, en-us;q=0.66, en;q=0.33
ten koles z brazylii wyworzyl mi cos takiego (chyba mial netscape): pt-br
Netscape juz nie mam, ale bylo cos podobnego do mozilli z tym ze zamiast przecinka po "pl" byl ;
Teodor
To jest header ktory jest wysylany przez przegladarke.
W przypadku IE - oznacza to:
Preferuje tylko jezyk polski.

W przypadku Mozilli:
Najbardziej preferuje jezyk polski(pl), ale akceptuje tez "amerykansko-angielski"(en-us) i nie mam tez nic przeciwko innym "angielskim" przy czym bardziej preferuje "amerykansko-angielski"(en-us).


Pozdrawiam
TroodoN
czyli to nie ma nic wspolnego z osoba ktora sie loguje z innego panstwa? Czyli jak ktos ma polska przegladarke (akceptujaca tylko polski) w afganistanie to mi wyswietli tylko PL ?

btw. pomysl jest wziety z www.clanbase.com , a tam nikt nie pyta o to skad sie jest i nie wybiera sie flag ktore sa do uzytkownikow przypisywane. Wiec jak oni to robia?
kwiateek
1. Sprawdzasz jaka koles uzywa przegladarke
2. W zaleznosci od uzywanej przegladarki odpowiednio przerabiasz HTTP_ACCEPT_LANGUAGE
3. Ustalasz dla goscia jezyk taki jaki ma najbardziej akceptowany

Pozdrawiam.
TroodoN
ok, to gdzie moge znalezc to co rozne przegladarki wypluwaja z funkcji getenv("HTTP_ACCEPT_LANGUAGE") ? Musze najpierw przewidziec aby moc przerobic HTTP_ACCEPT_LANGUAGE.
Teodor
Metoda z okreslaniem pochodzenia odwiedzjacego strone przez Accept-language: jest niedokladna i malo swiadczy o faktycznym pochodzeniu...
Ja np uzywam Nightly Mozilla i mam us-en choc pisze z centrum Poznania smile.gif

Lepiej skorzystac z internetowych baz ip'kow.

Np:
[php:1:e140d43eeb]<?php
$ip = getenv("REMOTE_ADDR");
$handle = fopen("http://ip-to-country.directi.com/country/name/".$ip, 'r');
echo fgets($handle, 4096);
fclose($handle);
?>[/php:1:e140d43eeb]

Pozdrawiam
kaZu
rewelacyjne.
ale jest tez cos takiego jak GeoIP.
www.maxmind.com

btw: czy ma ktos problemy z instalacja GeoIP ?
TroodoN
Cytat
rewelacyjne.
ale jest tez cos takiego jak GeoIP.
www.maxmind.com

btw: czy ma ktos problemy z instalacja GeoIP ?

Geoip jest platne. Ma ktos ich baze danych na dysku moze ?
TroodoN
Aha i czy ktos ma moze wszystkie flagi narodowe? Ja sciagalem z clanbase.com ale tam nie ma wszystkich. Gdzie moge reszte znalezc?
Teodor
Co do GeoIP to po baze i skrypty to tu:
http://www.maxmind.com/download/geoip/

Oczywiscie to free - wiec ograniczona baza (zadnych miast czy innych dokladnych lokacji).

A to ponizej to baza w csv z http://ip-to-country.directi.com/
http://ip-to-country.directi.com/latest/ip...country.csv.zip
kaZu
jesli chcesz zanc tylko panstwo odwiedzajacego to jest bezlplatne
TroodoN
Cytat
jesli chcesz zanc tylko panstwo odwiedzajacego to jest bezlplatne

geoip czy ip-to-country?
kaZu
geo-ip
Picia
HEHE. Tak coool.
O ile na SDI np. to dziala bardzo dobrze, tak nie dziala na moją wspaniała DSlke smile.gif.
Cos Wam pokażę:
You at (80.55.81.82) are located in Amsterdam, North Holland (province), Netherlands. (52.35, 4.90)

A pisze z zachodu Polski - Poznan smile.gif
Koshin
a czy pod tym adresem nie sa pliki dat z zawartoscia miast questionmark.gif

http://www.sawmill.net/cgi-bin/sawmilldocs...s?ho+docs-geoip
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.