Witam!

Problem jest taki:
Mam plik main.php, który jest zabezpieczony w sposób taki:

  1. <?php
  2.  
  3. ...
  4. Log::logUser();
  5. ...
  6.  
  7. ?>


natomiast metoda logUser, zawiera metodą checkUser, która wygląda tak:
  1. <?php
  2.  
  3.  function checkUser($user)
  4.  {
  5.  if(!isset($_SESSION['loggedAs']) or empty($_SESSION['loggedAs']))
  6.  {
  7.  header("Location: index.php");
  8.  exit;
  9.  }
  10.  
  11.  // upłynął czas trwania sesji
  12.  if($_SESSION['expireTime'] <= time())
  13.  {
  14.  // wylogowanie użytkownika
  15.  $this->logOut($_SESSION['loggedAs']);
  16.  }
  17.  }
  18.  
  19. ?>


To działa, do momentu, gdy użytkownik nie stworzy sobie własnego formularza, z odpowiednim polem, którego akcja bedzie wskazywała na strony zabezpieczone.
Gdy wykona ten formularz, a nie ma nikogo zalogowanego, to go wyrzuci (tak powinno być), ale jak ktoś jest zalogowany na stronie, to on przejmie jego zmienną sesyją wskazującą na zalogowanie, i ma dostęp do strony.
Jak to naprawić?questionmark.gif