![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 20.03.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nieczęsto proszę kogoś na forum o pomoc, bo zawsze staram się rozwiązywać problemy sam. Z tym jednak nie mogę sobie poradzić. Nie mam zupełnie pojęcia o co chodzi.
Zacząłem tworzyć stronę, która będzie dostępna w kilku językach. Gość już na stronie głównej może wybrać sobie, w jakim języku witryna ma być wyświetlana. Klikając w odpowiedni link, tworzy zmienną $HTTP_SESSION_VARS["lang"], zawierającą wiadomość, o tym, jaki gość wybrał język. W skrypcie strony, na samym początku sprawdzane jest, czy zmienna istnieje. Jeśli nie, to przypisana jest jej wartość języka angielskiego. Następnie includowany jest plik, zawierający deklarację tablicy $lang, w której pod odpowiednimi indeksami zawarte będą przetłumaczone na dany język teksty. To tyle tytułem wstępu. Poniżej wklejam fragment kodu, który ma wyświetlić różne tytuły dla różnych języków: header.php
lang/polski/lang_main.php
lang/english/lang_main.php
Przy pierwszym uruchomieniu strony, kiedy jeszcze sesja nie jest ustawiona, skrypt działa poprawnie i wyświetla angielski tekst tytułu. Kiedy jednak ktoś kliknie w link jakiegoś języka, wyświetlana jest tylko pierwsza litera tekstu z zaincludowanej zmiennej. Nie mam pojęcia, o co w tym chodzi. Głupi problem i zapewne prosty w rozwiązaniu, ale nie pozwala mi się ruszyć dalej. Proszę o pomoc. Link do tej stronki: http://www.footbag.p2.pl/footbagnews |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Nie wchodząc w problem odczytywania tablicy lang, wydaje mi się, że sam mechanizm przehowywania języka jest błędny.
W ten sposób nigdyy nie sprawdzasz, czy czasem już nie jest w sesji informacja na temat języka. Ja to robię zazwyczaj tak: 1. sprawdzam czy jest info o języku w get 2. jeśli 1 tak, sprawdzam czy istnieje taki język 3. jeśli 2 tak - zapisuje do sesji 4. jeśli 1 nie - sprawdzam czy jest język w sesji 5. jeśli 4 nie - przypisuje domyślny język do sesji |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:10 |