Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: strona zależna od kraju
Forum PHP.pl > Forum > PHP
dreszler
Witam czy ktos wiej jak napisac skrypt który przekierowywuje w zalezności od kraju
dokładnie chodzi mi o to żeby jak ktoś wchodzi z poza Polski to wyświetlała inna strona niż jak ktos jest z Polski
graft
Opisz bardziej Twoje potrzeby. Czy ma być to koniecznie przekierowanie wg. kraju/regionu? Czy wystarczy wg. języka przeglądarki? Ile tych krajów sobie założyłeś (bo jest tego ponad 200)?
Powiedzmy, że wchodzi na stronę rusek... co dalej? Czy ma go przekierować na nową stronę rozyjską, czy może tylko pokazać zawartość po rosyjsku...

i takie tam...
dreszler
żeby pokazywało zawartośc po rosyjsku
mi wystarcza 2 jezyki pl i ang moze byc od jezyka przegladarki domyślny pl a przy kazdym innym jezyku zeby wyswietlal sie ang
bo na wiecej jezykow to by bylo za duzo roboty chyba ze to jest prosty kod to moglo byc wicej jezyków moze napisz na gg 5783509 tak szybciej sie dogadamy jesli chcesz mi pomoc
Nattfarinn
Cytat(dreszler @ 3.11.2007, 18:16:49 ) *
moze napisz na gg 5783509 tak szybciej sie dogadamy jesli chcesz mi pomoc

Nie to żebym akurat szukał rozwiązania, bo właściwie nie. Ale obawiam się że to nie portal: "Umówmy się na randkę o 20". Nie uważacie że lepiej byłoby rozwiązanie znaleźć i opisać tutaj by zostało dla potomnych umiejących korzystać z szukaj? Naprawdę, niewiele jest rzeczy bardziej irytujących niż znalezienie tematu opisaującego analogiczny problem by w końcu przeczytać wiadomość: "napisz rozwiązanie na gg: ******* " i cisza...

Cytat(graft @ 30.10.2007, 23:23:12 ) *
Opisz bardziej Twoje potrzeby. Czy ma być to koniecznie przekierowanie wg. kraju/regionu? Czy wystarczy wg. języka przeglądarki? Ile tych krajów sobie założyłeś (bo jest tego ponad 200)?
Powiedzmy, że wchodzi na stronę rusek... co dalej? Czy ma go przekierować na nową stronę rozyjską, czy może tylko pokazać zawartość po rosyjsku...

Niewiele te informacje zmieniają w rozwiązaniu problemu, bo czy zakłada się że baza krajów będzie liczyła 3 kraje czy 200 nie ma znaczenia, i czy w końcu użyje się prostego rozwinięcia podstawowej instrukcji warunkowej w postaci ELSE. Tu chodzi o rozpoznanie kraju, tylko i wyłącznie o to, to czy zechce przekierować czy otworzyć rosyjską wersję swojej strony to problem autora tematu który z opisanym problemem nie ma nic wspólnego.
graft
  1. <?php
  2. $zainstalowane = array(
  3.  'pl' => 'pl', 
  4.  'pl-PL' => 'pl'
  5. );
  6.  
  7. $jezyki = explode(';', $_SERVER['HTTP_ACCEPT_LANGUAGE']); 
  8. $jezyki = explode(',', $jezyki[0]);
  9.  
  10. $lang = null;
  11. foreach($jezyki as $jezyk)  
  12. {
  13. if(isset($zainstalowane[$jezyk])) 
  14. {
  15. $lang = $zainstalowane[$jezyk];
  16. break;
  17. }
  18. }
  19.  
  20. if(is_null($lang)) //jak nie znajdzie
  21. {
  22. $lang = 'pl';
  23. }
  24.  
  25. if ($lang == "pl"){
  26.  
  27. //include pliku jezykowego PL itp.
  28.  
  29. } else { 
  30.  
  31. // inaczej includuj język EN
  32.  
  33. }
  34. ?>


Info o języku trzymaj w ciachu, sesji, albo w obu, ze jak użytkownik wejdzie innym razem na stronę żeby miał wybrany wcześniej język.
franki01
Cytat(graft @ 11.11.2007, 23:53:59 ) *
Info o języku trzymaj w ciachu, sesji, albo w obu, ze jak użytkownik wejdzie innym razem na stronę żeby miał wybrany wcześniej język.


Mu chyba chodzi o automatyczne wykrycie jezyka.. Mozna sie zabawic z gethostbyaddr" title="Zobacz w manualu PHP" target="_manual i obciecie ostatnich znakow od kropki. I po tych dwoch ostatnich literach rozpoznawac kraj, np. pl, de, com, hu, ru, jp (chociaz to czasami nie skutkuje).
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.