Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] aktywność użytkownika
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam potrzebuje małej porady otóż mam zrobione ze po zalogowaniu użytkownika robi mi jego status na aktywny znów po wylogowaniu na odwrót no ale nie każdy używa wyloguj i właśnie stąd moje pytanie jak zrobić żeby po czasie tez zmieniał status ? Mam zrobione ostatnie logowanie wykorzystać to ? Czy ktoś ma może inny pomysł
markuz
Utwórz w tabeli użytkownika pole - ostatnio_aktywny i jeżeli użytkownik wykona jakikolwiek ruch na stronie podbijaj datę - a status aktywny będzie otrzymywał jeżeli np. wykonał jakąś akcje w ciągu ostatnich 10 minut.
Sawczuk
Witaj
Dodaj do bazy z użytkownikami pole 'aktywny' typu int(11).

Edit.
Przedmówca to mówił. smile.gif


  1. ALTER TABLE `tabela_z_userami` ADD `aktywny` INT(11) NOT NULL


Następnym krokiem będzie dodanie do pliku który jest załączany do wszystkich plików strefy użytkownika zalogowanego (i tylko zalogowanego) kodu który updatuje nam czas ostatniej aktywności na stronie czyli:

  1. <?php
  2.  
  3. $czas = time()+600; // aktualny czas + 10 minut (60sekund*10)
  4.  
  5. //tutaj update do bazy danych w zależności od bazy którą używasz np mysql-li:
  6.  
  7. mysqli_query($db , "UPDATE `users` SET aktywny='".$czas."' where id='".$user['id']."'");
  8.  
  9. ?>


A sprawdzasz czy jest aktywny :
  1. <?php
  2. if(time() <= $user['aktywny']) { // jeżeli czas aktualny jest mniejszy lub równy czasowi pobranemu z bazy to żytkownik jest aktywny
  3. //kod że jest aktywny
  4. }
  5. else{
  6. //kod że użytkonik nie jest aktywny
  7. }
  8. ?>


jest to najprostszy sposób.

Jak pomogłem nie zapomnij dać mi plusika wink.gif.
mrk9109
Podsumowując to co piszecie czyli jedyna opcja jest oprzeć to o czas dodatkowo . Aktualnie mam to zrobione tak że pole aktywność ma wartość 1 lub 0 dla tego że zlicza mi aktywnych graczy. Ale mam też pole ost.logowanie i tu bede musial to wykorzystac ze jezeli czas bedzie mniejszy to będzie robił update aktywnosci na 0 .

EDIT:

Gotowe dodalem czas i do kazdego pliku po zalogowaniu tongue.gif
viking
A wystarczyło jedno zapytanie https://dev.mysql.com/doc/refman/5.7/en/create-event.html
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.