Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Język z przeglądarki na sesji
Gothicbezimienny
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 5.11.2014

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


Chce aby można było pobrać język ustawiony w przeglądarce i na jego podstawie ustawić język strony. Problem mam w tym ze przy pierwszym uruchomieniu przeglądarki dzięki sesji ładnie się to uruchamia, natomiast gdy otworze nową zakładkę i uruchamiam tą stronę on najwyraźniej nadal ma sesje i już nie wchodzi do mojego ifa i nie sprawdza już tego języka, może ktoś powiedzieć jak powinienem to prawidłowo zrobić.

  1.  
  2.  
  3.  
  4.  
  5. //load config file
  6. @require_once( './config.php' );
  7.  
  8. if (!isset($_SESSION['lang'])){
  9.  
  10. $_SESSION['lang'] = 0;
  11.  
  12.  
  13. if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
  14. $str = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  15.  
  16.  
  17. if($str == "de"){
  18. exit();
  19. }else if($str == "ru"){
  20. exit();
  21. }else if($str == "en"){
  22. exit();
  23. }else if($str == "en-gb"){
  24. exit();
  25. }else if($str == "en-us"){
  26. exit();
  27. }
  28. else{
  29. header("Location: http://xxx.com"); // domyslna strona po pl
  30. exit();
  31. }
  32.  
  33. $_SESSION['lang']++;
  34. }


Ten post edytował Gothicbezimienny 24.06.2016, 10:28:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Napiszę jeszcze raz, chciałbym znaleźć sposób na to by nie tylko za pierwszym uruchomieniem strony sprawdzany był język, ofc nie chodzi mi o ciągłe sprawdzanie bo w tedy się strona zapętli, ale chodzi np. włączam 1 zakłądke z XYZ.com moja pentla eleganco sprawdza język i ustawia też taki język strony. Natomiast jak otworze drugą zakładkę też z XYZ.com użyta przezemnie w ten sposób sesja już nie pozwala na wejście do if, natomiast innego pomysłu nie wymyśliłem i tu pytanie czy ktoś miałby pomysł aby nawet po otwarciu nowej zakładki język był sprawdzany znów.
Motasz sie w zeznaniach i podajesz sprzeczne rzeczy jakie chcesz zrobic...
Raz piszesz ze chcesz za kazdym razem a potem ze jednak nie, tylko gdy przelaczysz na inna zakladke. A wiec info dla ciebie: sesja nie wie czy ty sie przelaczasz na inna zakladke czy nie. sesja to sesja i dziala w obrebie tej samej przegladarki.

W ogole zabierasz sie do tego od zlej strony. Jezyka nie powinno sie zapisywac w sesji na podstawie jakis tam dziwnych ustawien. Jezyk powinien byl w adresie url i z niego odczytywany i koniec kropka.
Czyli jak masz strone powiedzmy xyz.pl to zakladamy ze domyslnym jezykiem jest PL i tego uzywasz.
Ale jak ktos wpisze xyz.pl/en/ lub en.xyz.pl to znaczy ze ten ktos przechodzic na jezyk EN. Analogicznie inne jezyki.
I na stronie jak tworzysz linki w tresci strony to one maja zawierac info o jezyku w jakim aktualnie czlowiek sie znajduje.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 18:02