Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wyświetleniem strony, Bug w IE6?
slimboj
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Witam,
Mam napisany skrypt logowania oparty na sesjach.
Wszystko działa cacy tylko, że przeglądając elementy strony (podstrony, itp.) po kliknięciu na link strona robi się biała i na tym koniec. Po wciśnięciu F5 strona ładuje się jak należy. Problem pojawia się jedynie pod IE6, co ciekawe po usunięciu z kodu: session_start() wszystko jest oki (oczywiście nie rejestruje sesji).
Moje pytanie brzmi czy jest to bug IE6? Czy może ja coś nie tak napisałem, zwłaszcza, że inne strony oparte na sesjach, jak np. sklepy internetowe działają ok! Aha, no i czy jest jakiś sposób na obejście tego problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mize
post
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 6
Dołączył: 26.03.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Wstaw kod tej strony, która wyświetlana jest pusta.
Go to the top of the page
+Quote Post
slimboj
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Zaznaczam, że problem pojawia się jedynie w IE6, testowałem na FF i IE7 i na nich działa poprawnie.

Klasa login:
  1. <?php
  2. class login
  3. {
  4. function __construct()
  5.  {
  6.   if(!isset($_SESSION['user']))
  7.    {
  8.     $sign_in=mysql_query("SELECT * FROM e_users WHERE user_login='".$_POST['login']."' AND user_password=md5('".$_POST['password']."')");
  9.     if(!$q_sign_in=mysql_fetch_row($sign_in))
  10.      {
  11.       $this -> login_form();
  12.       session_destroy();
  13.      }
  14.     else
  15.      {
  16.       $_SESSION['user']=$q_sign_in[1];
  17.       $this -> login_profile();
  18.      }
  19.    }
  20.   elseif($_GET['action']=='logout')
  21.    {
  22.     unset($_SESSION['user']);
  23.     session_destroy();
  24.    }
  25.   else
  26.    {
  27.     $this -> login_profile();
  28.    }
  29.  }
  30. function login_form()
  31. {
  32.  echo("<form action=\"index.php\" method=\"post\">
  33.         login:&nbsp;<input type=\"text\" name=\"login\">
  34.         &nbsp;&nbsp;&nbsp;
  35.         hasło:&nbsp;<input type=\"password\" name=\"password\">
  36.         &nbsp;&nbsp;&nbsp;
  37.         <button type=\"submit\">zaloguj</button>
  38.        </form>");
  39. }
  40. function login_profile()
  41. {
  42.  echo("Jesteś zalogowany jako: <b>".$_SESSION['user']."</b>&nbsp;&nbsp;&nbsp;<a href=\"index.php?action=logout\">wyloguj</a>");
  43. }
  44. }
  45. ?>

A tutaj index:
  1. <?php
  2.  
  3. echo("<div class=\"login\">");
  4.          $login_sys= new login;
  5. echo("</div>");
  6. ?>


Przy okazji, jak zmienić/usunąć SID po wylogowaniu?

Ten post edytował slimboj 21.10.2008, 20:39:12
Go to the top of the page
+Quote Post
Konio
post
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.04.2005

Ostrzeżenie: (0%)
-----


Też odnotowałem takie zachowanie IE6. Gdy plik wynikowy/strona jest zbyt mała czasem wyświetla się jako pusta strona.
Rozwiązanie znalaząłem takie, że ładuje tam trochę tekstu w komenatrzu i działa. Niemniej jest to mało eleganckie. Nie googlowałem w celu znalezienia rozwiąznaia na to.
Go to the top of the page
+Quote Post
slimboj
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


To nic nie daje, wrzuciłem duuużo komentarzy do kodu i efekt jest ten sam. Zauważyłem jeszcze inną dziwną rzecz, a mianowicie w IE6 po zamknięciu okna przeglądarki i ponownym jej uruchomieniu nie zmienia się SID. W IE7 i FF ten problem nie występuje... Może to jest jednak problem z sesjami, a nie koniecznie z samą przeglądarką.

EDIT:
Dobra, wiem już, że nie jest to kwestia ani skryptu, ani przeglądarki tylko serwera. Wrzuciłem stronę na inny serwer i na tej samej przeglądarce wszystko śmiga ok. Sprawdziłem konfigurację, zwracając szczególną uwagę na ustawienia sesji, na obu serwerach za pomocą phpinfo() i jedyna różnica:
A dokładnie w SESSION:

Serwer gdzie jest OK:
-----------------------------------
Registered serializer handlers: php php_binary
session.save_path: No Value

Serwer gdzie nie jest OK:
------------------------------
Registered serializer handlers: php php_binary wddx
session.save_path: /var/lib/php5

session.save_path jest taki sam local value i master value w obu przypadkach.
Szczerze to jestem trochę na bakier z konfiguracją PHP bo korzystam z serwera hostingowego, więc jeśli nie jest to to co napisałem wyżej to prosiłbym o jakąś podpowiedź.
Pozdrawiam,

Ten post edytował slimboj 23.10.2008, 13:59:53
Go to the top of the page
+Quote Post
gregi1
post
Post #6





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

Ostrzeżenie: (0%)
-----


To moze nie bedzie zbyt odkrywcze, ale chyba raczej pora odejsc juz od IE6, bowiem MS przestal wspierac ta przegladarke nie mozna jej nawet pobrac.
Go to the top of the page
+Quote Post
slimboj
post
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Odkrywcze to nie jest rzeczywiście (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale jak się okazuje, niektórzy mają tylko takie przeglądarki, w niektórych firmach dział IT jest naprawdę oporny na aktualizacje aplikacji. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A tab BTW. to przynajmniej ja mam taką zasadę, że jak tworzę jakąś aplikację to testuję ją pod wszystkimi najpopularniejszymi przeglądarkami, właśnie po to, żeby nie było potem takich kwiatków...

Ten post edytował slimboj 24.10.2008, 13:41:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.12.2025 - 13:26