Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wiele jezyków na stronie i przekazywanie w sesji
Wescik
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.03.2004
Skąd: Mrągowo

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


Witam!
Chciałem zrobić wielojęzykową stronę tzn. polski, angielski, niemieski i rosyjski.
I chciałem to zrobić za pomocą tablicy(tłumaczenia) w plikach i sesji, która bedzie pamiętała wybrany język. Chodzi o to, że nie wiem dlaczego nie chce przekazać sesji na inny plik w moim przypadku testowym to jest index2.php.

Mam takie pliki:
index.php index2.php
  1. <?php
  2.  
  3.  
  4. if ($_GET['language'] == 'pl') {
  5. $_SESSION['language'] = 'pl';
  6. include (&#092;"./lang/pl.php\");
  7. }else if ($_GET['language'] == 'en') {
  8. $_SESSION['language'] = 'en';
  9. include (&#092;"./lang/en.php\");
  10. }else if ($_GET['language'] == 'de') {
  11. $_SESSION['language'] = 'de';
  12. include (&#092;"./lang/de.php\");
  13. }else if ($_GET['language'] == 'ru') {
  14. $_SESSION['language'] = 'ru';
  15. include (&#092;"./lang/ru.php\");
  16. }else {
  17. $_SESSION['language'] = 'pl';
  18. include (&#092;"./lang/pl.php\");
  19.  
  20. }
  21.  
  22. echo 'To jest nazwa sesji:<b> '.$_SESSION['language'].'</b> <br />';
  23. echo 'Tu jakiś tekst:<b>  '.$lang['omnie'].' - '.$lang['galeria'].' - '.$lang['pobierz'].'</b><br />';
  24.  
  25. echo '<a href=\"./index2.php\">NEXT >></a> <br />'; //tu jakos powinno przenies sesje na drugi plik?
  26.  
  27. echo 'Zmiana jezyka: <br />
  28. <a href=\"./index.php?language=pl\">polski</a><br />
  29. <a href=\"./index.php?language=de\">niemiecki</a><br />
  30. <a href=\"./index.php?language=en\">angielski</a><br />
  31. <a href=\"./index.php?language=ru\">ruski</a><br />';
  32. ?>

oraz pliki z jezykami pl.php, de.php, en.pl oraz ru.php
i one wyglaaja tak:
[php]
<?php
$lang['omnie']='O mnie';
$lang['galeria']='Galeria';
$lang['pobierz']='Pobierz';
?>

No i moj problem polega na tym, ze startuje odpowiednia sesja, ale nie jest przekazywana do nastepnego pliku (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . Proszę o pomoc
ewentualnie moze to mozna jakoś ładniej zrobić?

Pozdrawiam

Ten post edytował Wescik 21.07.2005, 14:46:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wescik
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.03.2004
Skąd: Mrągowo

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


Dziaął ale nie do końca mianowicie sesja z index.php jest przesyłana do index2.php ale jak wezme spowrotem przejscie do index.php to gubi sesje i ładuje 'pl'.

index.php:

  1. <?php
  2.  
  3. if ($_GET['jezyk'] == 'pl') {
  4. $_SESSION['jezyk'] = 'pl';
  5. }else if ($_GET['jezyk'] == 'en') {
  6. $_SESSION['jezyk'] = 'en';
  7.  
  8. }else if ($_GET['jezyk'] == 'de') {
  9. $_SESSION['jezyk'] = 'de';
  10. }else if ($_GET['jezyk'] == 'ru') {
  11. $_SESSION['jezyk'] = 'ru';
  12. }else {
  13. $_SESSION['jezyk'] = 'pl';
  14. }
  15.  
  16. if(isset($_SESSION['jezyk'])){
  17.  $jezyk = $_SESSION['jezyk'];
  18. }else{
  19.  $jezyk = 'pl';
  20. }
  21. include(&#092;"./$jezyk.php\");
  22.  
  23. // Wykorzystanie
  24.  
  25. //sprawdzanie czy sesja jest przekazywana dalej
  26. echo '<a href=\"./index2.php\">NEXT</a> <br />'; 
  27.  
  28. //powinno pokazac sesje
  29. echo 'To jest nazwa sesji:<b> '.$_SESSION['jezyk'].'</b> <br />';
  30. //tu powinny byc teksty
  31. echo 'Tu jakiś tekst<b> '.$lang['tekst1'].' - '.$lang['tekst2'].' - '.$lang['tekst3'].'</b><br />';
  32.  
  33. //zmiana jezyka
  34. echo 'Zmiana jezyka: <br /> 
  35. <a href=\"./index.php?jezyk=pl\">polski</a><br />
  36. <a href=\"./index.php?jezyk=de\">niemiecki</a><br />
  37. <a href=\"./index.php?jezyk=en\">angielski</a><br />
  38. <a href=\"./index.php?jezyk=ru\">rrosyjski</a><br />';
  39.  
  40. ?>


Natomiast w pliku index2.php mam tak:
  1. <?php
  2.  
  3.  
  4. if(isset($_SESSION['jezyk'])){
  5.  $jezyk = $_SESSION['jezyk'];
  6. }else{
  7.  $jezyk = 'pl';
  8. }
  9. include(&#092;"./$jezyk.php\");
  10.  
  11. // Wykorzystanie
  12.  
  13. //sprawdzanie czy sesja jest przekazywana dalej
  14. echo '<a href=\"./index.php\">BACK</a> <br />'; 
  15.  
  16.  
  17.  
  18. //powinno pokazac sesje
  19. echo 'To jest nazwa sesji:<b>'.$_SESSION['jezyk'].'</b> <br />';
  20. //tu powinny byc teksty
  21. echo 'Tu jakiś tekst<b> '.$lang['tekst1'].' - '.$lang['tekst2'].' - '.$lang['tekst3'].'</b><br />';
  22.  
  23. //zmiana jezyka
  24. echo 'Zmiana jezyka: <br /> 
  25. <a href=\"./index2.php?jezyk=pl\">polski</a><br />
  26. <a href=\"./index2.php?jezyk=de\">niemiecki</a><br />
  27. <a href=\"./index2.php?jezyk=en\">angielski</a><br />
  28. <a href=\"./index2.php?jezyk=ru\">rosyjski</a><br />';
  29.  
  30. ?>

Chciałem zeby z kazdego pliku mozna było zmieniać jezyk i dodałem pierwsza cześć kodu z index.php $_GET ale wtedy wogole sesja nie przechodzi?
Nie mam pojecia jak to ma wogole działać
Założenie było takie zeby wybierajac jezyk mozna bylo latać po wszystkich podstronach i przegladac je w wybranym jezyku?

W plikach tej postac to index.php rozpoczyna sesje i wrzuca zmienna jezyka, a index2.php ja przejmuje, ale gdy nacisne 'back' to wraca do index.php i ładuje domyslny "pl"? a jak dodam GETy do index2.php to wogole nie jest przesyłana sesja w żadną strone? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Proszę o cierpliwość, dopiero sie ucze i robię jakieś głupie błędy.
Możesz mi to jakoś poprawić/naprawić?
Pozdrawiam
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: 6.10.2025 - 03:05