Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] problem $_SESSION
Forum PHP.pl > Forum > Przedszkole
-kalis-
Witam,

Mam kod :

  1. <?php
  2. include("index.php");
  3. $txt='';
  4. $f = isset($_GET['f']) ? $_GET['f'] : '';
  5.  
  6.  
  7. echo "sesja :" .$_SESSION['login'];
  8.  
  9. switch ($f)
  10. {
  11. case 'of_dodaj':
  12. #--dodaje nowa ofertę do bazy
  13. break;
  14. case 'ag_dodaj':
  15. #--dodaje nowego agenta do bazy
  16. #sprawdzenie czy został wysłany formularz
  17. if (isset($_POST['dodaj_agenta']) && ($_SESSION['ip'] == $_SERVER['REMOTE_ADDR']))
  18. {
  19. #pobranie danych z posta
  20. $ag_name = $_POST['ag_nazwa'];
  21. $ag_login = $_POST['ag_login'];
  22. $ag_pass = $_POST['ag_pass'];
  23. $ag_pass2 = $_POST['ag_pass2'];
  24. $ag_lic = $_POST['ag_lic'];
  25. #--sprawdzenie błędów wypełnienia formularza
  26. #--sprawdzenie czy pola są uzupełnione
  27. if (empty($ag_name) || empty($ag_login) || empty($ag_pass) || empty($ag_pass2) || empty($ag_lic))
  28. {
  29. $blad= __('blad_brakdanych');
  30. $czy_blad='1';
  31. }
  32. #--sprawdzenie czy hasła są takie same
  33. if (($ag_pass <>$ag_pass2))
  34. {
  35. $blad= __('blad_walid_haslo');
  36. $czy_blad='1';
  37. }
  38. #--sprawdzenie czy nie ma juz osoby o takim loginie lub nazwie
  39. $pass=sha1($pass);
  40. $zapytanie = mysql_query("SELECT u_id FROM users WHERE u_login='$login'");
  41. $ile = mysql_num_rows($zapytanie);
  42. if ($ile>0)
  43. {
  44. $blad= __('blad_dupl_login');
  45. $czy_blad='1';
  46. }
  47.  
  48. #--jezeli blad to wyswietl alert
  49. if ($czy_blad=='1')
  50. {
  51. echo"<script language=\"javascript\" type=\"text/javascript\">
  52. alert(\" $blad \");
  53. </script>";
  54. unset($_POST['dodaj_agenta']);
  55. header("Refresh: 2; url=zleceniefunkcje.php?f=ag_dodaj");
  56. }
  57. else
  58. {
  59. ##_dodanie do bazy
  60.  
  61. $zapytanie=mysql_query("INSERT INTO users (u_login,u_haslo,u_dane_nazwa,u_nr_lic,u_data_rej) VALUES ('$login','$pass','$ag_name','$ag_lic',NOW())");
  62. echo "<h3>Dodanie agenta zakończono sukcesem</h3>";
  63. header("Refresh: 3; url=zleceniefunkcje.php?f=ag_pokaz");
  64. }
  65.  
  66. }
  67. else
  68. {
  69.  
  70. #utworzenie formularza
  71. $txt.="<h5>".__('dodaj_nowego_ag')."</h5><br />
  72. <form action=\"zleceniefunkcje.php?f=$f\" method=\"post\">
  73. <table border=\"0\" width=\"400px\" bgcolor=\"white\" align=\"center\">
  74. <tr>
  75. <td>
  76. ".__('dodaj_nowego_ag_nazwa')."
  77. </td>
  78. <td>
  79. <input type=\"text\" name=\"ag_nazwa\" class=\"wyslij_formularz\" size=\"30\" maxlenght=\"30\">
  80. </td>
  81. </tr>
  82. <tr>
  83. <td>
  84. ".__('dodaj_nowego_ag_login')."
  85. </td>
  86. <td>
  87. <input type=\"text\" name=\"ag_login\" class=\"wyslij_formularz\" size=\"30\" maxlenght=\"10\" autocomplete=\"off\">
  88. </td>
  89. </tr>
  90. <tr>
  91. <td>
  92. ".__('dodaj_nowego_ag_pass')."
  93. </td>
  94. <td>
  95. <input type=\"password\" name=\"ag_pass\" class=\"wyslij_formularz\" size=\"30\" maxlenght=\"30\" autocomplete=\"off\">
  96. </td>
  97. </tr>
  98. <tr>
  99. <td>
  100. ".__('dodaj_nowego_ag_pass2')."
  101. </td>
  102. <td>
  103. <input type=\"password\" name=\"ag_pass2\" class=\"wyslij_formularz\" size=\"30\" maxlenght=\"30\" autocomplete=\"off\">
  104. </td>
  105. </tr>
  106. <tr>
  107. <td>
  108. ".__('dodaj_nowego_ag_lic')."
  109. </td>
  110. <td>
  111. <input type=\"text\" name=\"ag_lic\" class=\"wyslij_formularz\" size=\"30\" maxlenght=\"30\">
  112. </td>
  113. </tr>
  114. <tr>
  115. <td>
  116. </td>
  117. <td align=\"center\">
  118. <input type=\"submit\" name=\"dodaj_agenta\" value=\"".__('przycisk_wyslij')."\" class=\"wyslij_formularz\">
  119. </td>
  120. </tr>
  121. </table>
  122. </form>";
  123. break;
  124. }
  125. }
  126. echo $txt;
  127. ?>


__________________________________________

problem jest tego typu iż podczas logowania zmienna $_SESSION['login'] przyjmuję wartość zalogowany.
Przy wyświetleniu stronki zleceniefunkcje.php?f=ag_dodaj echo wyświetla sesja : zalogowany;
Po wypełnieniu formularza dane dodają się da bazy danych ale zmienna echo przyjmuje wartośc " sesja : p"
i mi się wylogowuje stronka
Ilware
a masz session_start();?
erix
A masz wszędzie identyczny identyfikator sesji?
-kalis-
session_start() - mam w pliku index.php który jest includowany.
Ogólnie zmienna sesja jest.
Teraz zauważyłem iż zmienna $_SESSION['login'] przejmuje wartość zmiennej $login.
plej
session_start(); powinna być zawsze pierwsza:)
zaraz po znaczniku <?php
-kalis-
dałem początek :

<?php
session_start();
ob_start();
include("index.php");

dalej zamienia mi zmienna $_SESSION['login'] na $login

mimo iż nie ma takiego przypisania
Ilware
dla upewnienia, zmienne globalne masz off?pokaż index.php
-kalis-
plik index.php:
  1. <?php
  2. #-dodaj pliki
  3. require("!konfiguracja/bd.php");
  4. require("langs/lang.class.php");
  5. #--includuj zawartość
  6. include("include/header.php");
  7. ?>


plik header.php:
  1. <?php
  2.  
  3. #--------ustawienie czasu po jakim ma się wylogować w przypadku bezczynnosci
  4. $intTimeoutSeconds = 60000;
  5.  
  6. if(isset($_SESSION['intLastRefreshTime']))
  7. {
  8. if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
  9. {
  10. header("Location:index.php");
  11. }
  12. }
  13. $_SESSION['intLastRefreshTime'] = time();
  14. ?>
  15.  
  16.  
  17. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  18. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  19. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  20. <head>
  21. <title></title>
  22. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
  23. <link rel="stylesheet" type="text/css" href="style/style.css">
  24. <META NAME="Keywords" CONTENT="">
  25. </head>
  26.  
  27. <body leftmargin="0" topmargin="0">
  28.  
  29.  
  30. <div id="top">
  31. <div id="naglowek">
  32. <table class="naglowek_tlo" align="center" cellspacing="0" cellpadding="0">
  33. <tr>
  34. <td align="center">
  35. </td>
  36. </tr>
  37. <tr>
  38. <td>
  39. <?php
  40. $txt='';
  41. $txt.="<div id=\"menu_gora\">
  42. <a href=\"index.php\">". __('menu_index')."</a>
  43. <a href=\"firma.php\">". __('menu_firma') ."</a>
  44. <a href=\"relokacja.php\">". __('menu_relokacja') ."</a>
  45. <a href=\"nieruchomosci.php\">". __('menu_nieruchomosc') ."</a>
  46. <a href=\"wspolpraca.php\">". __('menu_wspolpraca') ."</a>
  47. <a href=\"kontakt.php\">". __('menu_kontakt') ."</a>";
  48. if ($_SESSION['login'] == "zalogowany")
  49. {
  50. $txt.="<a href=\"administrator.php\">". __('menu_login') ."</a>";
  51. $txt.="<a href=\"logout.php\">". __('menu_logout') ."</a>";
  52. }
  53. else
  54. $txt.="<a href=\"login.php\">". __('menu_login') ."</a>";
  55. $txt.="</div>
  56. </td>
  57. </tr>
  58. <tr>
  59. <td>
  60. <hr>
  61. <div id=\"menu_dol\">
  62. <h2>". __('menu_l_ofert') ."</h2>";
  63. echo $txt;
  64. ?>
  65. </div>
  66. </td>
  67. </tr>
  68. </table>
  69.  
  70.  
  71.  
  72. <?php
  73. include("wyszukiwarka.php");
  74. ?>
  75.  
  76. <div id="tresc">
plej
i ten idex.php wszystko wyświetla? więc na poczatku daj wszedzie session_start:D
ja zawsze wszędzie daje i mi działa ci tez powinno:> kiedyś robiłem jak ty że dawałem jednym pliku session_start ale tez mi nie działało:D
-kalis-
dodałem wszędzie i dalej mi się wylogowuje.

sesje chodzą tylko ciągle mnie męczy dlaczego zmienna sesyjna $_SESSION['login'] przyjmuje wartość zmiennej $login skoro w tym kodzie nie ma czegoś takiego ....
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.