w pliku tresc2.php mam taki oto kod:
<?php $_SESSION['zalogowany']='nie'; ?>
potem trochę HTMLa, między innymi nagłówki HEAD, a dalej w BODY...
<? function restricted() { $zalogowany=$_SESSION['zalogowany']; if ($_POST['haslo']==\"aaa\" or $zalogowany==\"tak\") { $_SESSION['zalogowany']='tak'; } else { print '<form method=\"POST\" action=\"tresc2.php?id=6\"><input type=\"password\" name=\"haslo\"> <input type=\"submit\" value=\"Jazda!\" name=\"logowanie\"></form>'; } } ?>
Strona na której ma to działać zbudowana jest na zasadzie pływających ramek. W jednym dokumencie umieściłem IFrame zawierający stronę o której właśnie jest mowa, w której znajduje się funkcja restricted(). I wszystko działa dobrze, do momentu gdy przejdę do innego działu! Po przejściu w IFrame'ie do innego działu, czyli wgraniu innej strony- $_SESSION['zalogowany'] ma wartość NIE... Pomimo że wcześniej zalogowałem się poprawnie i zmienna ta miała wartość TAK!
Znaczące może okazać się, że stronę zbudowałem na funkcjach, tzn. w jednym pliku są treści wszystkich działów (niektóre pod zmiennymi z tekstem, inne jako funkcje) a wyświetlam jeden dział za pomocą zmiennej $id, przekazywanej przez GET a po użyciu formularza- przez POST. Zapewniam że stronka działa dobrze, tylko te sesje coś nawalają...
Bardzo proszę, czy ktoś mógłby dać jakąś wskazówkę, aby logowanie działało? Wszelkie rozwiązania muszą znaleźć się w tym pliku bądź w tej funkcji. Tworzenie dodatkowych plików odpada.
Dodam, że linki do różnych działów znajdują się na pierwszej stronie, tej głównej w której osadzona jest IFrame ze stroną drugą- z funkcjami. Linki mają postać "tresc2.php?id=2" a w pliku tresc2.php (czyli tym drugim) znajduje się warunek który sprawdza czy $id=='2', jeśli tak, to wyświetla jakąśtam zmienną lub odpala jakąś funkcję.
Nasza funkcja restricted() ma id=6