Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Strona wielojęzyczna - skrypt
dstp
post 28.07.2011, 10:47:18
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 28.07.2011

Ostrzeżenie: (10%)
X----


Napisałem prosty skrypt do obsługi wielu języków na stronie. Niby działa, ale chciałbym żebyście napisali mi czy ten skrypt jest dobrze napisany, czy są jakieś lepsze rozwiązanie i czy ten skrypt jest bezpieczny.
  1. if (isset($_SESSION['lang'])) {
  2. $lang = $_SESSION['lang'];
  3. }
  4. else {
  5. $lang = 'pl';
  6. }
  7.  
  8. if (!empty($_GET['lang'])) {
  9. $lang = $_GET['lang'];
  10. switch($lang) {
  11. case 'pl':
  12. $lang = 'pl';
  13. break;
  14. case 'en':
  15. $lang = 'en';
  16. break;
  17. default:
  18. $lang = 'pl';
  19. break;
  20. }
  21. $_SESSION['lang'] = $lang;
  22. }
  23. require_once('languages/'.$lang.'.php');

W pliku languages/$lang.php mam coś takiego:
  1. $Lang['title'] = 'Tytuł';
  2. $Lang['test'] = 'Test...';
Go to the top of the page
+Quote Post
tehaha
post 28.07.2011, 11:22:26
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no niby jest ok, ale ten switch jest nie potrzebny, przy większej ilość języków kod by się za bardzo powiększał, na szybko można zastąpić czymś takim:
  1. $langs = array('pl', 'en', 'de');
  2.  
  3. (isset($_SESSION['lang']) && in_array($langs)) ? $lang = $_SESSION['lang'] : $lang = 'pl';
  4. (isset($_GET['lang']) && in_array($langs)) ? $lang = $_GET['lang'] : '';
  5.  
  6. $_SESSION['lang'] = $lang;
  7.  
  8. require_once('languages/'.$lang.'.php');
Go to the top of the page
+Quote Post
dstp
post 28.07.2011, 11:27:45
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 28.07.2011

Ostrzeżenie: (10%)
X----


w sumie racja, zapomniałem że można tablice do tego wykorzystać wink.gif dzięki za odp. A i w sumie zamiast sesji lepiej ciastko dać, dopiero teraz o tym pomyślałem.

Ten post edytował dstp 28.07.2011, 11:29:03
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:13