Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zycie sesji
trucksweb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


durne pytanie, system logowania tworzy sesje:
  1. <?php
  2. //ustawienie danych sesji
  3. session_name('loginsystemu');
  4. ini_set('session.gc_maxlifetime',5);
  5. $id = $row[0];
  6. $nazwa_admina = $row[1];
  7. $login = $row[2];
  8. $haslo = $row[3];
  9. $uprawnienia = $row[4];
  10. session_register("nazwa_admina");
  11. session_register("login");
  12. session_register("haslo");
  13. session_register("uprawnienia");
  14. ?>


i teraz co jest zle, ze czas zycia sesji nie jest uwzgledniany ? tzn, chcialbym aby po 5s sesja zostala usunieta (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomigram
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 26.06.2008

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


Hej

mam pytanko odnosnie sesji... gdy user nie nacisnie wyloguj i wylaczy przegladarke i odpali strone od nowa nie wyswietla sie nic.Dopiero gdy usune recznie ciastko wszystko dziala..
Skrypt wyglada tak:

  1. <?php
  2.  
  3.  
  4.  
  5. session_start(); //sesje, do logowania
  6. ob_start(); //emulacja headerow
  7.  
  8. mysql_connect($host, $user, $password); //polaczenie z mysql
  9. mysql_select_db($database) or die(&#092;"Nie udało się wybrać bazy danych\"); //wybor bazy
  10.  
  11.  
  12. $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']);
  13. //filtracja zmiennej
  14. $haslo = mysql_escape_string(md5($_POST['pass'])); //filtracja + haszowanie hasla
  15.  
  16. $zapytanie = mysql_query(&#092;"SELECT * FROM XXX WHERE login = '$login'\"); //pobranie rekordow
  17.  
  18. $dane = mysql_fetch_array($zapytanie);
  19.  
  20. /* sprawdzamy poprawnosc przeslanych danych */
  21.  
  22. if(isset($_POST['login']) && isset($_POST['pass'])) {
  23. if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'')
  24. {
  25.  
  26. $_SESSION['admin']='ok'; //sesja przyjmuje wartosc 'ok' gdy dane z formularza 
  27. zgadzaja sie z danymi z bazy
  28. $_SESSION['login']=''.$dane['login'].'';
  29.  
  30. setcookie(&#092;"log\" , \"log\", time()+3600, \"/\",\"\", 0); //tworzymy ciastko
  31. header(&#092;"Location: log.php\"); //przenosimy na strone
  32.  
  33. }
  34. else { echo 'Blad logowania, probuj dalej :) '; } //w przypadku zlych danych
  35. }
  36.  
  37.  
  38.  
  39. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] 
  40. != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log']))
  41.  
  42. {
  43.  
  44.  
  45. Panel administracyjny
  46.  
  47.  
  48.  
  49. Login:
  50.  
  51. Haslo:
  52.  
  53.  
  54. ';
  55.  
  56.  
  57.  
  58.  
  59. }
  60.  
  61. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log']))
  62. //warunek, ktory sprawdza czy sesja ma odpowiednia
  63.  wartosc oraz czy istnieje ciastko, jest to koniunkcja, wiec bedzie prawdziwa
  64.  jesli oba warunki zostana spelnione
  65. {
  66.  
  67.  
  68. echo 'Jestes zalgowany jako '.$_SESSION['login'].', Wyloguj ';
  69.  
  70. if($_GET['p']=='wyloguj') {
  71.  
  72.  
  73.  
  74. session_destroy(); //kasujemy sesje
  75. setcookie(&#092;"log\" , \"log\", time()-3600, \"/\",\"\", 0); //kasujemy cookies
  76.  
  77. header(&#092;"Location: log.php\"); //przenosimy na strone logowania
  78.  
  79. }
  80. ?>


Ten post edytował tomigram 10.07.2008, 18:17:25
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: 10.10.2025 - 14:33