Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesje po wyłączeniu przeglądarki
Forum PHP.pl > Forum > Przedszkole
MateuszS
Witajcie!
Mam taki problem. Chcę aby sesje były aktywne również po wyłączeniu przeglądarki o ile to możliwe gdyż chcę aby w bazie danych po wyłączeniu jej w polu "online" z 1 (zalogowany) zmieniło się na 0 (wylogowany). Jednak po zalogowaniu i wyłączeniu przeglądarki, jestem wylogowany bo sesja padła jednak dalej mam w bazie "1" i w statystykach pokazuje że jest na stronie 1 user. Pozdrawiam
Kildyt
Sesje nie mogą zostać wczytane podczas następnego uruchomienia przeglądarki. Do takich celów służą ciasteczka, które mają określony termin przydatności do spożycia.
MateuszS
Bo mam takie cuś:

  1. <?php
  2.  
  3. $now = time();
  4. $expiryTime = 60;
  5.  
  6. if(!isset($_SESSION['last_trace']))
  7. {
  8.    $_SESSION['last_trace'] = $now;
  9. }
  10. elseif ((int)$_SESSION['last_trace'] + $expiryTime < $now)
  11. {
  12.    $sessionName = session_name("Sesja");    
  13.    $_SESSION = array();
  14.    if (isset($_COOKIE[$sessionName]))
  15.    {
  16.        setcookie($sessionName, '', $now-120, '/');
  17.    }
  18.  
  19.    $online_off = mysql_query("UPDATE `konta` SET `online`='0' WHERE `username`='".$uzytkownik."'") or die(mysql_error());    
  20.    session_destroy();      
  21.    echo '<script language="JavaScript">window.location="index.php?opcja=zalogowany";</script>';    
  22. }
  23.  
  24. ?>


i mojej konstrukcji:
  1. <?php
  2. $zapek = mysql_query("SELECT * FROM `konta` WHERE `online`='1'") or die(mysql_error());
  3. while($row = mysql_fetch_assoc($zapek))
  4. {
  5. echo '<input type="hidden" value="'.$row['online'].'" name="'.$zliczam++.'">';
  6. }
  7.  
  8.  
  9. if($zliczam >= 1)
  10. {
  11. echo 'Na stronie jest ';
  12. }
  13. if($zliczam >= 2)
  14. {
  15. echo '<font color="green"><b>'.$zliczam.' </b></font>zalogowanych użytkowników.';
  16. }
  17. elseif($zliczam == 1)
  18. {
  19. echo '<font color="green"><b>1 </b></font> zalogowany użytkownik.';
  20. }
  21. elseif($zliczam == 0)
  22. {
  23. echo 'Brak zalogowanych użytkowników.';
  24. }
  25. ?>


Da sie ciachami zrobic zeby po wylaczeniu przegladarki ustawic online na 0?


Próbowałem upiec ciacha wg przepisu w manualu jednak po spróbowaniu źle się to dla mnie skonczylo. Cukiernikiem to ja nie bede.
Kildyt
Cukiernikiem to pewnie i ja nie zostanę, ale mniejsza z tym. biggrin.gif
Takich rzeczy w taki sposób się nie rozwiązuje. Najprościej jest zapisywać ostatni ruch użytkownika i jeżeli będzie on większy niż np. 2 min to usunąć go z bazy użytkowników online.
Sądzę, że jest to najprostsze rozwiązanie.
MateuszS
He tyle ja wiem ^^ Ale jak to zrobic.
MateuszS
No ok przeczytalem text ale w dalszym ciagu nie wiem w czym to ma mi pomoc. Jest mowa tam o klasach ktorych jeszcze tworzyc nie umiem. 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.