Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana wartości zmiennej po wyborze opcji z menu
Forum PHP.pl > Forum > Przedszkole
completely_new
Witam. Mam następujący problem:

1. Załóżmy, że mam na stronie głównej menu z kilkoma opcjami (np. główna, o mnie, linki itd.). Chciałbym, żeby cały "serwis" działał w oparciu o tylko jedną stronę główną, czyli w zależności od wyboru opcji z menu byłaby zmieniana wartość zmiennej i wyświetlane w prawej części strony tekst/obrazki z odpowiedniego pliku, coś w tym stylu:

  1. <?php
  2.  
  3. switch($wybor)
  4. {
  5. case "glowna":
  6.  include("index.php");
  7.  break;
  8. case "o mnie":
  9.  include("omnie.php");
  10.  break;
  11.  
  12. //...
  13.  
  14. default:
  15.  include("pusta.php");
  16. }
  17.  
  18. ?>


Problemem jest to, że nie wiem, w jaki sposób dokonać zmiany wartości zmiennej po kliknięciu na link. Próbowałem rozwiązania takiego:

  1. <?php
  2.  
  3. //-------- plik index.php -----------------
  4. <a href="zmienwartosc.php">LINK1</a>
  5.  
  6.  
  7. //-------- plik zmienwartosc.php -----------------
  8. $wybor="nowywybor";
  9. include("index.php);
  10.  
  11. ?>


ale oczywiście zmienna $wybor nie nie jest "widziana" w pliku index.php. Najlepszym rozwiązaniem byłoby nadanie nowej wartości zmiennej bezpośrednio po kliknięciu na link i odświeżenie zawartości strony. Ale czy da się to zrobić w jakiś "normalny" sposób (czyli bez użycia np. skryptu Javy i wywoływania dodatkowych plików)?
Moim głównym zamierzeniem jest uniknięcie powtarzania kodu w wielu plikach, które normalnie musiałyby zawierać część strony związaną z podstawowymi elementami (menu, licznk, logo itd.).

2. Drugi problem dotyczy raczej HTML'a niż php. Kiedy w pliku index.php używam polskich znaków, wyświetlają się poprawnie. Jeżeli dołączę plik tekst.php funkcją include, polskie znaki nie wyświetlają się:

  1. <?
  2. // ------- zaincludowany plik tekst.php ----------------
  3. echo "ŻŹĆĄÓ - polskie znaki się nie wyświetlą :/";
  4. ?>
Ociu
1.
  1. <a href="index.php?strona=glowna">LINK1</a>

  1. <?php
  2.  
  3. switch($_GET['strona'])
  4. {
  5. case "glowna":
  6.  include("index.php");
  7.  break;
  8. case "o mnie":
  9.  include("omnie.php");
  10.  break;
  11.  
  12. //...
  13.  
  14. default:
  15.  include("pusta.php");
  16. }
  17.  
  18. ?>


2. Kodowanie - UTF-8.
completely_new
Dzięki.
Jest tylko mały problem. Mam register_globals=off
Ale już wpadłem na to, że muszę skorzystać z tablicy $GLOBALS["wybor"] (w końcu od czego jest Internet biggrin.gif ). Tyle tylko, że w tym przypadku muszę uruchomić osobny plik, w którym zmieniam wartość zmiennej "wybor" i includuję index.php. Nie da się inaczej?
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.