Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmienne nie są zapisywane/wykorzystywane
Forum PHP.pl > Forum > Przedszkole
analfabeta11
Witam serdecznie!
Zacząłem pisać prosty skrypt, którego zadaniem jest zamiana znaków na inne. Napisałem tablice zawierające znaki i 2 funkcje. Jedna z nich to formularz. Ta działa prawidłowo. Mam problem z drugą. Oto ona:
  1. function przetlumaczone ($j, $lang){
  2. echo ("Zamieniany tekst to: <b>".$tekst_pl."</b>. </br>");
  3. echo ("Tekst zamieniony: <b>");
  4. echo strtr($tekst_pl, $trans[$lang]);
  5. echo ("</b><br />Wybrany sposób zamieniania: <b>".$j."</b>");

Teraz taki mały opis. $j jest takim jakby dłuższym opisem sposobu zamieniania, a $lang jest kluczem tablicy $trans. Tablica $trans['cos'] określa mi znaki, na jakie mają zostać zamienione te wysłane.Tablica ta jest zamieszczona przed całym tym kodem. $tekst_pl to zamienione znaki ą, ę itp.
Formularz przesyła poprawnie zmienne. Widać je w pasku adresu. Przy uruchamianiu skrypt nie pokazuje żadnych błędów. Kiedy przypisze zmiennym wartości, to skrypt tak jakby ich nie widział. W miejscu, gdzie powinny się wyświetlić jest pusto. I to jest mój problem. Jak to rozwiązać?

Oto pełniejszy kod:
  1. if(isset($tekst) && isset($jezyk)){
  2. $litery_pl = array(
  3. "ą" => "a",
  4. "ć" => "c",
  5. "ę" => "e",
  6. "ł" => "l",
  7. "ń" => "n",
  8. "ó" => "o",
  9. "ź" => "z",
  10. "ż" => "z",
  11. "ś" => "s",
  12. "Ą" => "A",
  13. "Ć" => "C",
  14. "Ę" => "E",
  15. "Ł" => "L",
  16. "Ń" => "N",
  17. "Ó" => "O",
  18. "Ź" => "Z",
  19. "Ż" => "Z",
  20. "Ś" => "S");
  21. $tekst_pl = strtr($tekst, $litery_pl);
  22.  
  23. function przetlumaczone ($j, $lang){
  24. echo ("Tłumaczony tekst to: <b>".$tekst_pl."</b>. </br>");
  25. echo ("Tekst przetłumaczony: <b>");
  26. echo strtr($tekst_pl, $trans[$lang]);
  27. echo ("</b><br />Wybrany język: <b>".$j."</b>");
  28. }
  29. switch($jezyk){
  30. case "nin":
  31. przetlumaczone("nin", "nin");
  32. formularz();
  33. break;
  34. case "lud":
  35. przetlumaczone("lud", "ldz");
  36. formularz();
  37. break;
  38.  
  39. case "ab":
  40. przetlumaczone("ab", "ab");
  41. formularz();
  42. break;
  43.  
  44. case "ba":
  45. przetlumaczone("ba", "binludz");
  46. formularz();
  47. break;
  48.  
  49. default:
  50. formularz();
  51. break;
  52. }
  53. }
  54. else {
  55.  
  56. formularz();
  57.  
  58. }

może tą funkcję zamieściłem w złym miejscu albo coś...

Używałem szukajki, ale nie za wiele jakoś znalazłem. Pewnie ślepy jakiś jestem wink.gif
Z góry dzięki za pomoc.
erix
  1. if($tekst & $jezyk){

Jesteś pewien?
analfabeta11
Zmieniłem ten błędzik oraz dodałem isset dla pewnosci przysełania zmiennych. To nic nie zmieniło.
Aż głupio, że tak napisałem.
erix
Mam na myśli operator.
Valdi_B
W funkcji dodaj: globals $tekst_pl;
(dość często się o tym zapomina).
analfabeta11
Wydaje mi się, że zamieszczenie tutaj && będzie odpowiednie. AND daje mi to samo.

Valdi_B
To rozwiązało mój problem. Bardzo Ci dziękuję wink.gif
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.