Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Strona wielojęzyczna - skrypt
Forum PHP.pl > Forum > PHP
dstp
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...';
tehaha
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');
dstp
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.
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.