Sprawa dosc dziwna i nietypowa, bo przeciez przegladarka nic nie ma do php, a konkretniej do mojego sktyptu logownia, i jego ciasteczek. A jednak cos ma.

mam skrypt logowania z "zapamietywaniem". Jego najwazniejsza czescia jest ten plik:

  1. <?php
  2. function zalogowany ( $sesja=0, $login_php=0, $id=)
  3. {
  4.  echo"<span class=\"zw2\">Witaj <b>".$sesja."</b> na stronie !<br>
  5.  <a href=\"".$login_php."/edycja_profil.php?mode=zobacz_profil&id=".$id."\">Profil</a><br>
  6.  <a href=\"".$_SERVER['PHP_SELF']."?mode=wyloguj\">wyloguj</a><br>";
  7.  if( isset( $_COOKIE['auto'] ) )
  8.  {
  9.  echo"
  10.  <a href=\"".$_SERVER['PHP_SELF']."?mode=usun_ciasteczka\">Usuń ciasteczka</a></span>
  11.  ";
  12.  }
  13.  else
  14.  {
  15.  echo"
  16.  <a href=\"".$_SERVER['PHP_SELF']."?mode=zapamietaj\">Zapamietaj mnie</a></span>
  17.  ";
  18.  }
  19. }
  20.  
  21. if( $_SESSION['log'] )
  22. {
  23. echo zalogowany( $_SESSION['log'], $login_php, $id);
  24. }
  25.  
  26. elseif ( $_POST['mode'] == 'spr' )
  27. {
  28. if ( !isset( $_POST['login'] ) )
  29. {
  30. echo"Nie masz dostępu do tego modułu";
  31. }
  32.  
  33. else
  34. {
  35. if ( $_POST['submit'] )
  36. {
  37. $wyszukaj = mysql_query("SELECT * FROM users WHERE login='$_POST[login]' AND haslo='$_POST[pass]' LIMIT 1");
  38. $wynik = mysql_num_rows($wyszukaj);
  39. while ( $wynik2 = mysql_fetch_array($wyszukaj) )
  40. {
  41. $_SESSION['flaga'] = $wynik2['flaga'];
  42. $_SESSION['id'] = $wynik2['id'];
  43. $_SESSION['haslo'] = $wynik2['haslo'];
  44. $_SESSION['ost_log'] = $wynik2['ostatnie_logowanie'];
  45. }
  46.  
  47. if ( empty ( $_POST['login'] ) )
  48. {
  49. echo "<span class='zw3'>nie podano loginu<br></span>";
  50. $lo=1;
  51. }
  52.  
  53. if ( empty ( $_POST['pass'] ) )
  54. {
  55. echo "<span class='zw3'>nie podano hasla<br></span>";
  56. }
  57.  
  58. #poprawny login i haslo, utworzenie sesji z loginem usera
  59. elseif ( $wynik == 1 )
  60. {
  61. $_SESSION['log'] = $_POST['login'];
  62.  
  63. $data = date("Y-m-d H:i:s");
  64.  
  65. /*zmiana daty ostatniego logowania*/
  66. $sql0 = "UPDATE users SET ostatnie_logowanie=\"$data\" WHERE id=$_SESSION[id]";
  67. $wykonaj0 = mysql_query ( $sql0 );
  68. /**/
  69.  
  70. if( !empty( $_POST['auto'] ) )
  71. {
  72. setcookie( "auto", "$_SESSION[log]", time()+86400*30 );
  73. }
  74. }
  75.  
  76. elseif ( isset ( $_POST['login'] ) && isset ( $_POST['pass'] ) && $lo != 1 )
  77. {
  78. echo "<span class=\"zw3\">Niepoprawne dane<br></span>";
  79. $spr=1;
  80. }
  81.  
  82. if ( empty ( $_POST['login'] ) || empty ( $_POST['pass'] ) || $spr == 1 )
  83. echo"<span class=\"zw2\"><a href=\"$login_php/logowanie.php?mode=add_user\">Spróbuj ponownie</a><br>nie masz jeszcze konta?? <a href=\"$login_php/logowanie.php?mode=rejestruj\">zarejestruj sie</a></span>";
  84.  
  85. }
  86.  
  87. if ( $_SESSION['log'] )
  88. {
  89. header("Location:$_SERVER[PHP_SELF]");
  90. }
  91.  
  92. }
  93. }
  94.  
  95. elseif( isset( $_COOKIE['auto'] ) )
  96. {
  97. $wyszukaj = mysql_query( "SELECT * FROM users WHERE login='$_COOKIE[auto]'" );
  98. $wynik = mysql_num_rows($wyszukaj);
  99. if( $wynik ==)
  100. {
  101. while ( $wynik2 = mysql_fetch_array($wyszukaj) )
  102. $_SESSION['flaga'] = $wynik2['flaga'];
  103. $_SESSION['id'] = $wynik2['id'];
  104. $_SESSION['haslo'] = $wynik2['haslo'];
  105. $_SESSION['ost_log'] = $wynik2['ostatnie_logowanie'];
  106. }
  107.  
  108. // $_SESSION['log'] = $_COOKIE['auto'];
  109. $data = date("Y-m-d H:i:s");
  110.  
  111. /*zmiana daty ostatniego logowania*/
  112. $sql0 = "UPDATE users SET ostatnie_logowanie='$data' WHERE id=$_SESSION[id]";
  113. $wykonaj0 = mysql_query ( $sql0 );
  114. /**/
  115. echo zalogowany ( $_SESSION['log'], $login_php, $id);
  116. }
  117. else
  118. {
  119. echo"ERROR !";
  120. }
  121. }
  122.  
  123. else
  124. {
  125. <div>
  126. <script type=\"text/javascript\" src=\"js/caps.js\">
  127. </script>
  128.  
  129. <form action=\"$_SERVER[PHP_SELF]\" method=\"post\">
  130. <div id=\"warning\" style=\"display: none;\"><span class=\"zw2B\">Masz włączony klawisz Caps lock !</span></div>
  131.  <span class=\"zw3\">Login:</span>
  132. <input type=\"text\" size=\"12\" name=\"login\" />
  133.  <span class=\"zw3\">Hasło:</span>
  134. <input type=\"password\" size=\"12\" name=\"pass\" onkeypress=\"capsDetect(arguments[0]);\" />
  135.  <span class=\"zw3\">Zapamiętaj mnie:</span><input name=\"auto\" type=\"checkbox\" value=\"on\" />
  136. <input type=\"hidden\" name=\"mode\" value=\"spr\" />
  137. <input class=\"kolorowy\" type=\"submit\" name=\"submit\" value=\"Zaloguj\" />
  138. </form>
  139.  
  140. <span class=\"zw3\"><a href=\"".$login_php."/logowanie.php?mode=rejestruj\">zarejestruj sie</a>&nbsp;|&nbsp;</span>
  141. <span class=\"zw3\"><a href=\"".$login_php."/logowanie.php?mode=uzyj_wsk\">zapomnialem hasla</a></span>
  142. </div>
  143. ";
  144. }
  145.  
  146. if ( $_GET['mode'] == 'wyloguj' )
  147. {
  148. unset($_SESSION['log']);
  149. unset($_SESSION['id']);
  150. setcookie( "auto", "$_SESSION[log]", time()-86400 );
  151. header("Location:".$_SERVER['PHP_SELF']."");
  152. }
  153.  
  154. if ( $_GET['mode'] == 'usun_ciasteczka' )
  155. {
  156. setcookie( "auto", "$_SESSION[log]", time()-86400 );
  157. header("Location:".$_SERVER['PHP_SELF']."");
  158. }
  159.  
  160. if ( $_GET['mode'] == 'zapamietaj' )
  161. {
  162. setcookie( "auto", "$_SESSION[log]", time()+86400*30 );
  163. header("Location:".$_SERVER['PHP_SELF']."");
  164. }
  165.  
  166. ?>


pod ie, wszytsko pieknie hula. Pod ff, skrypt sie wsyypuje, w pewnym momencie.

to jest tak
mam sobie w/w plik includowany do pliku ktory wyswietla top strony. index.php, ma ten top, i np plik forum/forum.php (a wiec o katalog wyzej) tez ma ten sam top.
w ie, obojetnie czy jestem w index.php czy o katalog wyzej czyli forum/forum.php skrypt dziala bez zarzutu.

pod ff, sie wysypuje w momencie, gdy wejde o katalog wyzej ... nieusuwa w tedy ciasteczka. Nie wiem czym to jest spowodowane, ale cos musi byc.

Szukalem na google o jakis roznicach w ie i ff ziazanych z ciasteczkami i nic ...

macie jakies pomysly czemuz tak sie smutno dzieje ... ?