Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] po przeładowaniu strony ginie wartość $_SESSION, sesja
wariusz
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 16.07.2008

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


Witam mam problem z sesją po zalogowaniu wyświetlam powitanie użytkownika:

  1. <?php
  2. if ($_SESSION["zalogowany"]=="tak") {
  3.  echo "<p>Witaj <b>".$_SESSION["login"]."</b></p>";
  4. ?>


i zaraz po zalogowaniu jest ok wyświetla się Witaj "user" ale po odświeżeniu strony wyświetla się tylko Witaj .

jeszcze kod sesji:


  1. <?
  2.  
  3. $pg_host = "host";
  4. $pg_login = "login";
  5. $pg_haslo = "haslo";
  6. $pg_baza = "baza";
  7. $pg_tabela = "tabela";
  8.  
  9.  
  10. $login = $_POST["login"];
  11. $haslo = $_POST["haslo"];
  12.  
  13. if ($_GET["login"]=="koniec") { // wylogowanie
  14. } else if ($login<>"" and $haslo<>"") {
  15.  $haslo = md5($haslo);
  16.  
  17.  $db_handle = pg_connect("dbname =$pg_baza user=$pg_login password=$pg_haslo host=$pg_host");
  18.  if($db_handle)
  19.  {
  20.   $query="SELECT * FROM $pg_tabela WHERE login='$login' and haslo='$haslo' and status=5";
  21.   $wynik = pg_exec ($db_handle, $query);
  22.    if (pg_numrows($wynik)==1) {
  23.        $dane=pg_fetch_array($wynik);
  24.        $_SESSION["zalogowany"]="tak";
  25.        $_SESSION["login"]=$dane["login"];
  26.        $_SESSION["imie"]=$dane["imie"];
  27.        $_SESSION["email"]=$dane["email"];
  28.      }
  29.   pg_close();
  30.  }
  31.  
  32.  }
  33. ?>


może ma ktoś jakiś pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hiszpanespaniol
post
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 39
Dołączył: 7.04.2008
Skąd: 3city

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


możliwe, że:
1. za każdym odświeżeniem strony przesyłasz ponownie dane w POST. wtedy działa poprawnie kod
  1. <?php
  2. $login = $_POST['login']
  3. ?>

ale połączenie z bazą danych następuje tylko w przypadku, gdy spełni się drugi warunek z Twojego if'a

  1. <?php
  2. //////
  3.  
  4. if ($_GET["login"]=="koniec") { // wylogowanie
  5. } else if ($login<>"" and $haslo<>"") {
  6. //////
  7. ?>


musisz powoli sprawdzić jak to działa, czy tu czasem nie wymaga skrypt przesłania danych jednocześnie POST'em i GET'em co chyba jest trudne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
------
jeżeli nie odświeżasz strony, tylko na nią wchodzisz z linka, to wtedy nie przesyłasz nic postem i kod $login = $_POST['login'] zeruje zmienną login.
------
coś w tym stylu lub

2. źle się odwołujesz do zmiennych
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 06:50