Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie trzymanie sesji
Forum PHP.pl > Forum > PHP
kony11
Witam, przepraszam ze tak rozpisuje co chwila nowe tematy ale jak juz wspomnialem dawno nie mialem stycznosci z programowaniem.
mam problem z nie trzymaniem sesji, po zalogowaniu i kliknieicu w jaka kolwiek opcje z menu uzytkownika sesja sie rozpada korzystam z takiego skryptu:

w index.php wywoluje funkcje
  1. <?php $uzytkownik->przetrzymaj_sesje(); ?>


ktora wyglada tak:

  1. function przetrzymaj_sesje()
  2.  
  3. {
  4.  
  5. include("config.php");
  6.  
  7.  
  8. $mysql = new mysql;
  9.  
  10. $mysql->polacz("$host", "$baza", "$baza_uzytkownik", "$baza_haslo");
  11.  
  12. $login = $_SESSION['login'];
  13.  
  14. $dataigodzina = date('Y-m-d H:i:s');
  15.  
  16. if(!empty($login)) $mysql->zapytanie("UPDATE users SET ostatniawizyta = \"$dataigodzina\" WHERE nick = \"$login\"");
  17.  
  18. }


dodatkowo w pliku zarzadania panelem uzytkownika korzystam z takiego kodu:

  1. {
  2.  
  3.  
  4.  
  5. $wynik = $mysql->pobierz_tabele('SELECT * FROM users WHERE nick = "'.$login.'"');
  6.  
  7.  
  8.  
  9. if($wynik[haslo] == $haslo)
  10.  
  11. {
  12.  
  13. session_register('login');
  14.  
  15. session_register('haslo');
  16.  
  17.  
  18.  
  19. $uzytkownik->przetrzymaj_sesje();
  20.  
  21.  
  22.  
  23. TUTAJ SA OPCJE uzytkownika, wiadomosci itp ");
  24.  
  25. }


wyczytalem ze session_register('login'); od php5.3 jest juz nie dostepna, mogl by mi ktos poradzic jak ja łatwo zastąpic ?
Sephirus
Zamiast session_register i podobnych pracuj po prostu na tablicy $_SESSION i pamietaj o tym by session_start() było odpalane na początku każdego wywołania i powinno starczyć.

  1. // mniejsza o te funkcje które jeszcze źle uzywasz...
  2.  
  3.  
  4.  
  5. // daj po prostu zamiast tego wyżej, to:
  6.  
  7. $_SESSION['login'] = $login;
  8. $_SESSION['haslo'] = $haslo;
  9.  
  10.  
  11. // a tą metodę to trzeba by wykonać przed tym co wyżej jest - bo nie możesz uzywać sesji zanim jej nie "wystartujesz"...
  12.  
  13. $uzytkownik->przetrzymaj_sesje();


Wystarcz nieco chęci - wejść i poszukać pierwszego lepszego arta o sesjach w php i wszystko staje się jasne smile.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.