Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ja rozpoznać czy klient na stronie jest z poza polski?
ewaslawek5
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Chciałbym żeby moja strona wyświetlała inną zawartość dla osób z naszego kraju i inną dla osób z poza kraju.
Myślę że można by osiągnąć to poprzez odczyt NR.IP osoby będącej na mojej stronie i porównać z bazą danych nr.IP z polski, bo takowe są dostępne.

Wiem o zmiennej globalnej:
CODE
$nr_ip = $_SERVER['REMOTE_ADDR']
Napiszcie jak byście poradzili sobie z tym zagadnieniem, czy w podobny sposób, a może w zupełnie inny ?


--------------------
Dobro popłaca - zawsze !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Google: GeoIP, geolokalizacja.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Chciałbym żeby zawartość strony zmieniała się dynamicznie, to znaczy żeby była inna dla użytkowników z kraju i inna dla użytkowników z poza kraju...


--------------------
Dobro popłaca - zawsze !
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




I jakie jest pytanie? Przecież to zwykły if" title="Zobacz w manualu PHP" target="_manual; problem w tym, aby zdobyć dane powiązań IP z krajem. Ale o tym napisałem post wyżej.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
rugby
post
Post #5





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Postaram się odpowiedzieć bardziej wyczerpująco od poprzedników. Otóż rozpoznać kraj odwiedzającego można w PHP przynajmniej na 3 sposoby:

1. Sprawdzać $_SERVER["HTTP_ACCEPT_LANGUAGE"] - ale wtedy uzyskujemy język używany przez przeglądarkę klienta, zawodzi kiedy np. Polak ma zainstalowaną angielską wersję Windowsa i IE.

2. Sprawdzać IP w zewnętrznych serwisach geolokalizacji, np. MaxMind GeoIP - ale wtedy za każdym razem musimy łączyć się z zewnętrznym serwerem, co wydłuża ładowanie strony i może generować błędy.

3. Przechowywać lokalną bazę adresów IP oraz krajów i porównywać z nią IP klienta - ale wtedy musimy mieć miejsce na bazę danych (czasem kilkaset MB), musimy pamiętać o jej aktualizacji i wziąć pod uwagę, że danego adresu może nie być w bazie. Natomiast to jest sposób o wiele szybszy od poprzedniego. Przykładowa implementacja w PHP to IP2Country.

Jak już mamy kraj, to robimy: if(...) header('Location: ...');

Ten post edytował rugby 30.05.2009, 21:50:18


--------------------
Juvenia Kraków Rugby Klub
Pobierz Google Chrome!
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 Aktualny czas: 20.08.2025 - 03:12