Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna sesyjna znika :/
Forum PHP.pl > Forum > Przedszkole
tomilipin
Witam,
w pliku tresc2.php mam taki oto kod:
  1. <?php
  2. $_SESSION['zalogowany']='nie';
  3. ?>

potem trochę HTMLa, między innymi nagłówki HEAD, a dalej w BODY...
  1. <?
  2. function restricted() {
  3. $zalogowany=$_SESSION['zalogowany'];
  4.  
  5.  if ($_POST['haslo']==&#092;"aaa\" or $zalogowany==\"tak\") {
  6.  print 'Zalogowany! Udało się!';
  7.  $_SESSION['zalogowany']='tak';
  8.  echo $_SESSION['zalogowany']; //po podaniu dobrego hasła wyświetka TAK
  9.  }
  10.  else {
  11.  print '<form method=\"POST\" action=\"tresc2.php?id=6\"><input type=\"password\" name=\"haslo\"> <input type=\"submit\" value=\"Jazda!\" name=\"logowanie\"></form>';
  12.  echo $_SESSION['zalogowany']; //podane hasło jest złe lub go nie ma- wyświetla NIE
  13.  }
  14. }
  15. ?>


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
rogrog
najlepiej nie używaj iframe. ramki są przestarzałe i niemodne tongue.gif i nieporęczne, czego sam masz przykład.

PS. rada na przyszłość - lepiej formatuj kod. Wcięcia przy ifach itp. strukturach
tomilipin
No dobrze, jednak nie pomogłeś mi ani trochę! angrysmiley.gif
Jakieś propozycje?
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.