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:
<?php switch($wybor) { case "glowna": include("index.php"); break; case "o mnie": include("omnie.php"); break; //... default: include("pusta.php"); } ?>
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:
<?php //-------- plik index.php ----------------- <a href="zmienwartosc.php">LINK1</a> //-------- plik zmienwartosc.php ----------------- $wybor="nowywybor"; include("index.php); ?>
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ę:
<? // ------- zaincludowany plik tekst.php ---------------- ?>