Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z sesją
Forum PHP.pl > Forum > PHP
JaRoPHP
Mam poważny problem:

Otóż mam zbiór stron, które są zabezpieczone za pomocą sesji.
czasami wszytsko działa, jednak czasem się sypie.


Problem polega na tym, że na jednej stronie mam odnośnik:

  1. <?php
  2. ...
  3. <a href='change.php' onmouseover='window.status=\"Zmiana ustawień użytkownika\"; return true;' onmouseout=&#092;"pasekZawsze();\" onfocus='window.status=\"Zmiana ustawień użytkownika\"'>Zmień</a>
  4. ...
  5. ?>


Kod strony do której następuje odwołanie jest następujący:


  1. <?php
  2. if (!session_is_registered(&#092;"osoba\"))
  3. {
  4. header(&#092;"Location: ../index.php\");
  5. exit();
  6. }
  7.  
  8. // upłynął czas trwania sesji
  9. if(session_is_registered(&#092;"osoba\") && $_SESSION['expire'] <= time())
  10. {
  11. // zmiana stanu użytkownika na nieaktywny
  12. include(&#092;"../include/database.inc\");
  13. $query = mysql_query(&#092;"UPDATE `osoby` SET aktywny=0;\");
  14.  
  15. header(&#092;"Location: ../index.php?blad=2\");
  16. exit;
  17. } 
  18. ?>
  19.  
  20. <!doctype html public \"-//W3C//DTD HTML 4.0 Transitional//EN\">
  21. <html>
  22. <head>
  23. <title>Portale korporacyjne - paleta kolorów</title>
  24. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  25. <meta name=\"Description\" content=\"Potrale korporacyjne\" />
  26. <meta name=\"Keywords\" content=\"portal\" />
  27. <meta name=\"Language\" content=\"pl\" />
  28. <meta name=\"Author\" content=\"JaRo\" />
  29. <link rel=\"stylesheet\" href=\"../portal.css\" type=\"text/css\" />
  30. <body>
  31.  
  32. <?php
  33.  
  34.  print...
  35.  
  36. ?>


Czasami jak już pisałem wszystko gra. Jednak czasem strona o adresie: change.php (do której jest odnośnik) wczytuje się
cała biała (jako blank). Dopiero po odświerzeniu strony w przeglądarce, nastepuje prawidłowe jej wyświetlenie.
Natomiast jak zlikwiduję wszystkie znaczniki <meta> wszytsko jest w porządku (oczywiście oprócz polskich czcionek na stronie).

---
Prosze uzywac [php] do umieszczania kodu php....
hwao
sf
Cytat
Notatka:  Jeśli użyta została tablica $_SESSION (lub $HTTP_SESSION_VARS dla php 4.0.6 lub starszych), do sprawdzenia czy zmienna została zarejestrowana w sesji należy użyć funkcji isset() na tablicy $_SESSION.

Przy użyciu $_SESSION (lub $HTTP_SESSION_VARS), nie należy używać session_register(), session_is_registered() i session_unregister().


moze to jest przyczyna ...
JaRoPHP
HEJ!!!

Dzięki za informacje. Troszkę umknęło mi to ze specyfikacji. Poprawiłem i nic. Ale dzięki tej uwadze, znów siadłem nad owym skryptem i odkryłem kolejną rzecz.
A mianowicie, znaczniki <meta> mogą zostać, oprócz odpowiadającego za wyświetlanie znaków. Jest to dość spory problem.
Pobawiłem się trochę i okazało się, że jak dam windows-1250 to wszystko gra, natomiast jak jest iso-8859-2, lub UTF-8 to niestety strona jest wyświetlana tylko po odświerzeniu jej w przeglądarce.
Oczywiście wiem jak już ominąć problem, lecz dalej mnie to nie zadowala...
sad.gif sad.gif
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.