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
NickOver
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Po 1 skoro robisz substringa który zostawi Ci 2 elementy to po co są te ify:?
  1. }else if($str == "en-gb"){
  2. header("Location: <a href="http://xxx.com/home_en.html&quot%3b%29;" target="_blank">http://xxx.com/home_en.html");</a>
  3. exit();
  4. }else if($str == "en-us"){
  5. header("Location: <a href="http://xxx.com/home_en.html&quot%3b%29;" target="_blank">http://xxx.com/home_en.html");</a>
  6. exit();
  7. }

Po 2 nie lepiej zamiase ifów i elsów zrobić switcha?

Po 3 taki jest mechanizm sesji. To jest jej główne zadanie. Zostać ile chcesz. Jeśli i tak chcesz sprawdzać język co wejście na stronę (co jest jedną z najbardziej bezsensownych rzeczy jakie dziś widziałem ponieważ user raczej nie zmienia języka przeglądarki to nie używaj do tego sesji tylko po prostu sprawdzaj język i wyświetlaj treści w danym języku.

Po 4 jeśli chcesz pomocy odpowiadaj na pytania innych. Większość osób które będą chciały Ci pomóc zarabia na znajomości tego języka i ma w nim większe doświadczenie przez co mogą Ci podpowiedzieć coś o czym nawet byś nie pomyślał.
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 - 20:04