Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nie mozna pobraz danych z wiersza adresu, wielojęzyczność serwisu
atchor
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 13.02.2006

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


Witam.

Zastosowałem w próbnym pliku mojego serwisu skrypt, który miałby pobierać z adresu zmienną lang i przekazywać ją instrukcji switch, która rozpoznaje czy zmienna lang ma wartość pl czy en. Niestety ani metoda $_get ani $_post ani nawet $_request nie rozpoznają zawartości zmiennej lang.

Moim celem jest oczywiście wynik w postaci wielojęzycznego serwisu tak jak na:

http://www.polmic.pl/

Gdzie użytkownik wybiera za pomocą ikony odpowiedni język.

Oto skrypt wykonujący:

  1. <?php
  2. $lang = htmlspecialchars($_REQUEST['lang']);
  3. switch($lang)
  4. {
  5. case 'pl': include('lang_polish.php');
  6. break;
  7. case 'en': include('lang_english.php');
  8. break;
  9. default: include('lang_polish.php');
  10. }
  11. echo $lang['publisher'];
  12. ?>


W plikach lang_polish.php oraz lang_english.php zachowane są oczywiście tablice $lang[''] z wartościami dla poszczególnych wywołań z zakresu $lang[''] . Jak sprawić by właściwie rozpoznawało wybrany język?

Ten post edytował atchor 24.03.2007, 20:11:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
bronchos
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.03.2007

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


Jedyne, co mi przychodzi do głowy to starsza wersja PHP na serwerze, nie obsługująca zmiennych superglobalnych $_GET, $_POST, etc. Sprawdzałeś phpinfo()?
Go to the top of the page
+Quote Post
atchor
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 13.02.2006

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


no tak, jest 4.4.3 no ale nie stanowi to przeszkod w obsludze globalnych serwera takich jak GET czy POST bo w innych skryptach obsluguje, np. przenoszenie ID

Ten post edytował atchor 25.03.2007, 10:54:55
Go to the top of the page
+Quote Post
tedi
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.03.2007

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


  1. <?php
  2. $lang = htmlspecialchars($_REQUEST['lang']);
  3. switch($lang)
  4. {
  5. case 'pl': include('lang_polish.php');
  6. break;
  7. case 'en': include('lang_english.php');
  8. break;
  9. default: include('lang_polish.php');
  10. }
  11. echo $lang['publisher'];
  12. ?>


mi tu zajezdza konfliktem zmiennej $lang, bo na poczatku $lang = pl. Czyli jest zwykla zmienna, a dalej juz odwolujesz sie do tablicy.
Oczywiscie jak na poczatku w pliku lang_polish.php czy lang_english.php dodasz $lang = array(); to moim zdaniem powinno być dobrze.
Go to the top of the page
+Quote Post
atchor
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 13.02.2006

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


swietnie, dzieki :-)
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 Aktualny czas: 21.08.2025 - 19:17