Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Dziwne zachowanie sesji
Forum PHP.pl > Forum > PHP
konraddo
Witam
Problem polega na tym, że kiedy dodałem obsługę sesji, wszystko pięknie działało ale pod FF, natomiast pod IE przy przełańczaniu się pomiędzy różnymi podstronami, łąduje sie pusta strona, nawet nie da sie podglądnąć kodu źródłowego, dopiero po odświeżeniu stronki, ładuje się dobrze, i tak za każdym razem, klikam na link, wyświetla się pusta strona, odświeżam i dopiero wszystko jest ok.
Nastomiast gdy wezme w komentarz session_start(); pod IE znów działa.
session_start() jest umieszczona na początku index.php, przełańczanie się pomiędzy podstronami polega na podaniu w adresie różnych wartości page i id, np. index.php?page=oferta&id=1, zawartość podstronek jest includowana do index.php, niszczenie sesji nastepuje po wylogowaniu.
nie mam pojęcia dlaczego tak się dzieje

Kiedy przeniosłem na inny server wszytsko dziala nawet pod IE6, wersja php 4.4.4
natomiast na wersji php 5.0.5-2.1tld nie dziala pod IE6, może ktoś wie jakie ustawienia są za to odpowiedzialne??

Pozdrawiam
Babcia@Stefa
Może podał byś zawartość pliku index.php i jakiejś niedziałającej podstrony?
Może nie całość ale tą odpowiedzialną za sesje część.

Dziękuję, Babcia@Stefa
konraddo
kod index.php:
  1. <?php
  2.  
  3. //====sprawdza czy istnieje plik konfiguracyjny bazy=====
  4. if(!file_exists("../config/db_config.php")){
  5. die("Brak pliku konfiguracyjnego bazy!");
  6. }
  7. require_once("../config/db_config.php");
  8.  
  9. //nawiazanie po??czenia z baza
  10. if (!$db_lnk = mysql_connect($mysql_hostname, $mysql_user, $mysql_password)){
  11. echo('Wyst?pi? b??d podczas pr?by po??czenia z serwerem MySQL...');
  12. }
  13. if(!mysql_select_db($mysql_db_name)){
  14. echo('Wyst?pi? b??d podczas wyboru bazy danych: test...');
  15. }
  16.  
  17. //ustawienie kodowania polaczenia
  18. $query = "SET CHARACTER SET utf8;";
  19. $result=mysql_query($query, $db_lnk);
  20.  
  21. $panel = array(
  22. "dzialy.php", // id=0
  23. "zmien_haslo.php"
  24. );
  25.  
  26. $produkt = array(
  27. "lista.php", // id=0
  28. "dodaj.php", // id=1
  29. "edytuj.php"
  30. );
  31.  
  32. .
  33. .
  34. .(inne tabele)
  35. .
  36. .
  37.  
  38. if(isset($_GET['page'])){
  39. $page=$_GET['page'];
  40. }
  41. else{
  42. $page="login";
  43. }
  44.  
  45. if(isset($_GET['id']))$id=$_GET['id'];
  46. else $id=0;
  47.  
  48. echo '<?xml version="1.0" encoding="UTF-8"?>';
  49. ?>
  50. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  51. <html xmlns="http://www.w3.org/1999/xhtml">
  52. <head>
  53. <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  54.  <link href="main.css" rel="stylesheet" type="text/css" media="all" />
  55. <title>Stolmar</title>
  56. </head>
  57. <body>
  58.  
  59. <?php
  60. switch($page){
  61.  
  62. case "produkt": 
  63. include("pages/produkt/".$produkt[$id]);
  64. break;
  65.  
  66. .
  67. .(inne case'y)
  68. .
  69.  
  70.  
  71. default:
  72. include("pages/".$panel[$id]);
  73. }
  74.  
  75. ?>
  76.  
  77. </body>
  78. </html>
  79. <?php
  80. ?>


kod domyslnie includowanej podstronki (dzialy.php):

  1. <div class="panel">
  2. <div class="panel_1">PANEL:</div>
  3. <div class="wyloguj">
  4. <a href="pages/login/logout.php">Wyloguj</a><br /><br />
  5. <a href="?page=panel&id=1">Zmień hasło</a><br />
  6. </div>
  7.  
  8.  
  9. <?php
  10. $query = "SELECT id, nazwa FROM Dzial;";
  11. $result = mysql_query($query, $db_lnk);
  12.  
  13. while($row = mysql_fetch_row($result)){
  14.  
  15. echo '<div class="panel_2"><a href="?page=produkt&dz='.$row[0].'">'.$row[1].'</a></div>';
  16.  
  17. }
  18.  
  19. echo '<div class="panel_3">';
  20. echo '<a href="?page=produkt&id=1">Dodaj produkt</a><br /> ';
  21. echo '<a href="?page=front">Fronty</a> <br />';
  22. echo '<a href="?page=korpus">Kolory frontów i korpusów</a><br /> ';
  23. echo '<a href="?page=blat">Kolory blatów</a></div> ';
  24. ?>
  25. </div>


kod stronki (lista.php) który powinien być zaincludowany ale pojawia się pusta strona, dopiero po odświeżeniu dobrze się wyświetla:
link na który kliklem: ?page=produkt&dz=1

  1. <?php
  2. $dz = $_GET['dz'];
  3. if(isSet($_GET['action'])){
  4. if($action == 'usun'){
  5.  
  6. $pr = $_GET['pr'];
  7. $dz = $_GET['dz'];
  8.  
  9. $query = "select zdjecie from Produkt where id=$pr;";
  10. $result = mysql_query($query, $db_lnk);
  11. while($row = mysql_fetch_row($result)){
  12. $zdjecie = $row[0];
  13. }
  14. $src = "../upload/dzial".$dz."/".$zdjecie;
  15. unlink($src);
  16.  
  17. $query = "DELETE FROM Produkt WHERE id='$pr';";
  18. mysql_query($query, $db_lnk);
  19. $query = "DELETE FROM Dodaj_blat WHERE id_produktu='$pr';";
  20. mysql_query($query, $db_lnk);
  21. $query = "DELETE FROM Dodaj_front WHERE id_produktu='$pr';";
  22. mysql_query($query, $db_lnk);
  23. $query = "DELETE FROM Dodaj_korpus WHERE id_produktu='$pr';";
  24. mysql_query($query, $db_lnk);
  25. $query = "DELETE FROM Dodaj_kol_front WHERE id_produktu='$pr';";
  26. mysql_query($query, $db_lnk);
  27. }
  28. }
  29.  
  30. $query = "SELECT nazwa FROM Dzial where id=$dz";
  31. $result = mysql_query($query, $db_lnk);
  32. while($row = mysql_fetch_row($result)){
  33. echo "
  34. <h2>$row[0]</h2>
  35. ";
  36. }
  37.  
  38. $query = "SELECT id, nazwa FROM Produkt where id_dzialu=$dz ORDER BY nazwa ASC;";
  39.  
  40. $result = mysql_query($query, $db_lnk);
  41. $numrows = mysql_num_rows($result);
  42.  
  43. if($numrows > 0){
  44. echo '
  45. <table border=1 cellpadding=5>
  46. <tr>
  47. <td>nazwa produktu<td></td>
  48. </tr>
  49. ';
  50. while($row = mysql_fetch_row($result)){
  51. echo "<tr>";
  52. echo "
  53. <td>$row[1] </td>
  54. <td><a href="?page=produkt&id=2&dz=$dz&pr=$row[0]">edytuj</a></td>
  55. <td><a href="?page=skladnik&pr=$row[0]">składniki</a></td>
  56. <td><a href="?page=front&id=3&pr=$row[0]&dz=$dz">fronty</a></td>
  57. <td><a href="?page=kol_front&pr=$row[0]&dz=$dz">Kolory frontów</a></td>
  58. <td><a href="?page=korpus&id=3&pr=$row[0]&dz=$dz">Kolory korpusów</a></td>
  59. <td><a href="?page=blat&id=3&pr=$row[0]&dz=$dz">Kolory blatów</a></td>
  60. <td><a href="?page=produkt&dz=$dz&pr=$row[0]&action=usun">usuń</a></td>
  61. ";
  62. echo "</tr>";
  63. }
  64. echo "</table>";
  65. }
  66. echo '<a href="?page=panel">Powrót do panelu</a> ';
  67. ?>
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.