Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Język z przeglądarki na sesji
Gothicbezimienny
post 24.06.2016, 10:26:42
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
Gothicbezimienny
post 27.06.2016, 12:51:23
Post #2





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

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


nospor :


Cytat
Nadal nie napisales co chcesz zrobic wiec niby jak mialem ci napisac cos madrego? Napisalem: 'Co cchesz osiagnac' a ty nie odpowiedziales na to pytanie...

Wywal tego ifa i po sprawie skoro do niczego ci nie jest potrzebny


1. Napisałeś dokładnie tak:

Cytat
No tak, sesja jak to sesja, trwa...

Co ty chcesz osiagnac przez zwiekszanie lang w session o 1?


a ja odpowiedziałem więc skąd ta pretensja:

Cytat
Aktualnie nie ma zastosowania ta inkrementacja, to pozostałości po próbach wymyślenia jakiegoś sposobu o to co pytam.


A co che ogólnie osiągnąć napisałem w pierwszym poście, czy napisałem to w sposób nie zrozumiały ?snitch.gif

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.


NickOver :

1. słuszna uwaga smile.gif

2.
Cytat
Po 2 nie lepiej zamiase ifów i elsów zrobić switcha?
Mam wersje z casami ale właśnie mi wydaje się lepsza opcja z ifami mogę się mylić ale to bardzo podobna struktura do tej z ifami wiec to żaden problem. I nie chodzi mi o sprawdzanie języka co wejście na stronę bo to porostu by zapętlało przekierowania na stronie tylko j.w.


3. Wiem jaki jest mechanizm sesji i dlatego napisałem ten post z prośbą o pomoc w wymyśleniu lepszego sposobu niż ja zdołałem o ile jakiś sensowy istnieje. I wiem że to sprawdzanie, szczególnie w różnych przypadkach może być bezsensowne ale powiem tak klient czasem ślepo czegoś chce. Przy użyciu samych pętli switch/if przekierowania się zapętlają ponieważ każde otwarcie strony przechodzi pętle, zmienna sesyjna pozwala mi na jako takie prawidłowe działanie tego.


4. Właśnie tak zrobiłem odpowiedziałem. I właśnie dlatego napisałem na forum bo sam nie umiem lepiej wymyślić i może ktoś pomoże bardziej doświadczony.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 07:50