Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nietrzymanie sesji
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam.
Mam problem w postaci nietrzymania sesji.
Plik panel admina wygląda tak:

  1. <?php
  2. ini_set('error_reporting', E_ALL | E_STRICT);
  3. ini_set('display_errors', 'Off');
  4. ini_set('log_errors', 'On');
  5. ini_set('error_log', 'full-path-to-a-log-file');
  6. ?>
  7. <?php
  8. if (!isset($_SESSION['sprawdz']))
  9. {
  10. $_SESSION['sprawdz'] = true;
  11. }
  12. if($_GET['wyloguj'])
  13. {
  14. echo '<div style="text-align:center;">Wylogowano</div>';
  15. header('Location: index.php');
  16. };
  17. if($_POST['haslo']=='haslo' && $_POST['login']=='admin')
  18. {
  19. $_SESSION['haslo'] = $_POST['haslo'];
  20. $_SESSION['login'] = $_POST['login'];
  21. echo '<table border="1" width="550" style="height: 363px">
  22. <tr align="center">
  23. <td align="center" valign="top"><b>NEWSY</b><hr /><br /><br /><br /><br /><a style="color: red; text-decoration: none;" href="index.php?page=dodajnews">Dodaj NEWS\'a</a><br /><br />
  24. <a style="color: red; text-decoration: none;" href="index.php?page=edytujnews">Edytuj NEWS\'a</a><br /><br />
  25. <a style="color: red; text-decoration: none;" href="index.php?page=usunnews">Usu&#x144; NEWS\'a</a><br /><br /></td>
  26. <td align="center" valign="top"><b>ARTYKU&#x141;Y</b><hr><br /><br /><br /><br /><a style="color: red; text-decoration: none;" href="index.php?page=dodajartykul">Dodaj ARTYKU&#x141;</a><br /><br />
  27. <a style="color: red; text-decoration: none;" href="index.php?page=edytujartykul">Edytuj ARTYKU&#x141;</a><br /><br />
  28. <a style="color: red; text-decoration: none;" href="index.php?page=usunartykul">Usu&#x144; ARTYKU&#x141;</a><br /><br /></td>
  29. <td align="center" valign="top"><b>REGULAMIN</b><hr><br /><br /><br /><br /><br /><br /><br /><a style="color: red; text-decoration: none;" href="index.php?page=edytujregulamin">Edytuj REGULAMIN</a><br /><br /></td>
  30. <td align="center" valign="top"><b>O NAS</b><hr><br /><br /><br /><br /><br /><br /><br /><a style="color: red; text-decoration: none;" href="index.php?page=edytujonas">Edytuj O NAS</a><br /><br /></td>
  31. <td align="center" valign="top"><b>KONTAKT</b><hr><br /><br /><br /><br /><br /><br /><br /><a style="color: red; text-decoration: none;" href="index.php?page=edytujkontakt">Edytuj KONTAKT</a><br /><br /></td>
  32. </tr></td>
  33. </table>
  34. <table border="1" width="550"><tr align="right">
  35. <td><a style="color: red; text-decoration: none;" href="index.php?page=paneladmina&wyloguj=1">Wyloguj si&#x119;</a></font></td>
  36. </tr></table>';
  37. echo '<p />';
  38. }
  39. else
  40. {
  41. }
  42. if(!$_SESSION['haslo'])
  43. if(!$_SESSION['login'])
  44. {
  45. echo '<div style="text-align:center;"><form method="post" action="index.php?page=paneladmina">
  46. Login: <br />
  47. <input type="text" name="login" /><br />
  48. Has&#x142;o: <br />
  49. <input type="password" name="haslo" /><br />
  50. <input type="submit" value="Zaloguj" />
  51. </form></div>';
  52. }
  53. else
  54. {
  55. }
  56. if((!empty($_POST['login']) && $_POST['login']!=='admin') || (!empty($_POST['haslo']) && $_POST['haslo']!=='haslo'))
  57. {
  58. echo '<div style="text-align:center;">Podano z&#x142;y login lub has&#x142;o.<br /> Spr&#xF3;buj ponownie</div>';
  59. }
  60. elseif($_POST['login']=='' or $_POST['haslo']=='')
  61. {
  62. echo ' ';
  63. }
  64. else
  65. {
  66. }
  67. ?>


Natomiast plik index wygląda tak:

  1. <?php
  2. ini_set('error_reporting', E_ALL | E_STRICT);
  3. ini_set('display_errors', 'Off');
  4. ini_set('log_errors', 'On');
  5. ini_set('error_log', 'full-path-to-a-log-file');
  6. setcookie("gosc", "1", time()+3600*3);
  7. if (!isset($_SESSION['sprawdz']))
  8. {
  9. $_SESSION['sprawdz'] = true;
  10. }
  11. echo '<?xml version="1.0" encoding="utf-8"?>
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  13. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  16. <meta http-equiv="Content-Language" content="pl" />
  17. <title>asd</title>
  18. <link rel="stylesheet" type="text/css" media="all" href="style.css" />
  19. </head>
  20. <body>
  21. <div id="glowny">
  22. <div id="logo">
  23. </div>
  24. <div id="menu">
  25. <ul>
  26. <li><a href="index.php">Home</a></li>
  27. <li><a href="index.php?page=news">Newsy</a></li>
  28. <li><a href="index.php?page=medbooki">MedBooki</a></li>
  29. <li><a href="index.php?page=regulamin">Regulamin</a></li>
  30. <li><a href="index.php?page=onas">O nas</a></li>
  31. <li><a href="index.php?page=kontakt">Kontakt</a></li>
  32. </ul>
  33. </div>
  34. <div id="tresc">';
  35. switch($_GET['page'])
  36. {
  37. case '':
  38. include('strona/glowna.php');
  39. break;
  40. case 'medbooki':
  41. include('strona/medbooki.php');
  42. break;
  43. case 'regulamin':
  44. include('strona/regulamin.php');
  45. break;
  46. case 'onas':
  47. include('strona/onas.php');
  48. break;
  49. case 'kontakt':
  50. include('strona/kontakt.php');
  51. break;
  52. case 'dostep':
  53. include('strona/dostep.php');
  54. break;
  55. case 'news':
  56. include('strona/news.php');
  57. break;
  58. case 'paneladmina':
  59. include('panel/paneladmina.php');
  60. break;
  61. case 'dodajartykul':
  62. include('panel/dodajartykul.php');
  63. break;
  64. case 'edytujartykul':
  65. include('panel/edytujartykul.php');
  66. break;
  67. case 'usunartykul':
  68. include('panel/usunartykul.php');
  69. break;
  70. case 'edytujregulamin':
  71. include('panel/edytujregulamin.php');
  72. break;
  73. case 'edytujonas':
  74. include('panel/edytujonas.php');
  75. break;
  76. case 'edytujkontakt':
  77. include('panel/edytujkontakt.php');
  78. break;
  79. case 'dodajnews':
  80. include('panel/dodajnews.php');
  81. break;
  82. case 'edytujnews':
  83. include('panel/edytujnews.php');
  84. break;
  85. case 'usunnews':
  86. include('panel/usunnews.php');
  87. break;
  88. default :
  89. echo '<div style="text-align:center;">Wystąpił błąd.<br /> Niepoprawna nazwa pliku</div>';
  90. break;
  91. };
  92. ?>
  93. </div>
  94. <div id="lewa">
  95. <br />
  96. <br />
  97. </div>
  98. <div id="stopka">
  99. <?php
  100. function stopka() {
  101. $rok_zalozenia = 2009;
  102. $nazwa_strony = '<a href="http://www.asd.pl" class="powered">asd</a>';
  103. $rok_obecny = date("Y");
  104. if ($rok_obecny == $rok_zalozenia)
  105. {
  106. echo 'Copyright &copy; '.$rok_obecny.' '.$nazwa_strony.'. Wszelkie prawa zastrze&#x17C;one.';
  107. }
  108. else
  109. {
  110. echo 'Copyright &#xA9; '.$rok_zalozenia.' - '. $rok_obecny.' '.$nazwa_strony.'. Wszelkie prawa zastrze&#x17C;one.';
  111. }
  112. }
  113. stopka();
  114. echo '<br />';
  115. if($gosc!="1")
  116. {
  117. $file=fopen("strona/licznik/licznik.txt", "r");
  118. flock($file, 1);
  119. $cyfra=fgets($file, 100);
  120. flock($file, 3);
  121. fclose($file);
  122. $cyfra++;
  123. $file=fopen("strona/licznik/licznik.txt", "w");
  124. flock($file, 2);
  125. fwrite($file, $cyfra);
  126. flock($file, 3);
  127. fclose($file);
  128. echo"$cyfra";
  129. }
  130. else
  131. {
  132. $file=fopen("strona/licznik/licznik.txt", "r");
  133. flock($file, 1);
  134. $cyfra=fgets($file, 100);
  135. flock($file, 3);
  136. fclose($file);
  137. echo 'Jesteś '.$cyfra.' gościem na tej stronie.';
  138. }
  139. ?>
  140. </div>
  141. </div>
  142. </body>
  143. </html>


Gdy przejdę z panelu admina np. do zakładki kontakt i chcę wrócić z powrotem do panelu admina nie trzyma sesji i gdy wracam pokazuje się pusta strona.
Czego to może być wina?

Może dlatego?

http://iv.pl/images/dxxdaof3c3wqyj5ig2d.jpg
MateuszS
session_start(); ma być w pierwszej linijce kodu a najlepiej dodaj przed nim jeszcze ob_start(); a na samym dole ob_end_flush();
adrianozo
Nic to nie dało 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.