Mes galime išsiaiškinti, kurie lankosi arba prisijungti prie sistemos. Tai taip pat rodomas kaip aktyvių narių, dabar prie bet kokios svetainės apačią arba bet kuriuo prisijungimo sistemą. Tai yra integruotas į bet bet kokios svetainės prisijungimo sistemą. Mes pasistengsime sužinoti, kaip tokia sistema veikia ir rodyti Svetainėje aktyvių narių pavardes arba vartotojo IDS). Tai yra dalis bet kokioje sistemoje, kurioje nariai prisijungti su savo vartotojo vardą ir slaptažodį.
Kaip galite suprasti valstybėms seanso detales po prisijungimo yra saugomi serverio pusėje, o ne kliento pabaigos. Taigi, gauti iš serverio informaciją yra neįmanoma, kadangi scenarijus nebus turite administratoriaus prieigą. Taigi mes pasistengsime išlaikyti dar vieną paralelinę sistemą žinoti, kurie prisijungęs. Čia kai veiksmų ėmėsi tik tai ir mokykimės skirtingus etapus šį scenarijų.
Saugoti prisijungimo duomenis lentelėje
Kiekvieną kartą, narys sėkmingai Loges, mes saugoti informaciją, pridėti įrašą prie mūsų stalo, sukurta tik šiam tikslui. Mes vadiname šią lentelę kaip plus_login. Ji penki laukai saugojimo ID viduje lauko pavadinimą ID, usrid laikyti vartotojo vardą prisijungęs narys, sistemos IP adresą, iš kur narys yra prisijungęs metu prisijungę lauko pavadinimą TM ir statuso, kuris bus nustatyti į OFF kartą prisijungęs narys, ir mes jį pagal nutylėjimą. Taigi, kai mes prisijungęs narys saugoti visus šiuos informaciją įrašant įrašą, kur pagal nutylėjimą statusas bus nustatytas į ON. Lentelės struktūrą (SQL Dump) prieinama viduje parsisiųsti zip failą Šiuo samouczku pabaigoje.
Atnaujintas nario statusą
Mes turime saugomą statusą mūsų plus_login lentelėje, kur mes nustatytą statusą. Kartu su statuso, mes taip pat saugojimo laikas prisijungęs. Dabar mes turime atnaujinti šį statusą į padėtį ON ir atnaujinti naują laiką lauko pavadinimas tm) kiekvieną kartą, narys atidaro viduje narių teritorijoje. Mes nuolat kodą, atnaujinti plus_table su naujo laiko ir statuso ON viduje puslapio bottom.php,. Šis puslapis bottom.php vadinama visų pabaigoje puslapiuose. Šis bottom.php puslapis nėra tris darbo vietas. Pirmiausia ji atnaujinti prisijungęs vartotojas su naujo laiko ir nustatyti statuso ON statusą. Štai kodas šį pirmąjį žingsnį.
$ Tm = data ("YMD H: i: s");
$ Q = mysql_query ("UPDATE plus_login rinkinys statusas =" ON ", TM = '$ TM", kur id =' $ sesija [id] '");
Antra ženklo statusą OFF visiems nariams, kurie nėra bendravusių su svetainėje per paskutines 10 minučių. (Tai yra priežastis, mes bus padaryti už kiekvieną puslapį kvietimą nario statusą ir naują laiką). Čia yra viešai neatskleistos bottom.php kodas šiam žingsniui.
$ Skirtumas = 10; / / Gap vertė gali būti pakeista, tai per keletą minučių.
/ / Mums sužinoti laiką, šiuo metu - iki 10 minučių. / /
$ Tm = data ("YMD H: i: s" mktime (data ("H"), data ("i") - $ tarpas, data ("S"), data ("m"), data (" d) data ("Y")));
Čia yra užklausa, tai padaryti
$ Ut = mysql_query ("UPDATE plus_login rinkinys statusas =" OFF ", kur TM <'$ TM");
Trečiojo etapo metu ji renka valstybėms prisijungimo ID, kuris laikas yra per paskutines 10 minučių ir statusas yra nustatytas į ON. Jie yra mūsų prisijungę nariai arba kurie veikia ne svetainėje. Kodas, jūs galite pamatyti 1 Parodyta, kurie aktyviai svetainės skyriuje slinkite žemyn)
Kas atsitinka, kai vartotojas prisijungia
Mes pakeisti sistemos būseną į OFF ir sunaikinti sesiją. Mes nuolat šį kodą atsijungti puslapio viduje.
$ Q = mysql_query ("atnaujinimas plus_login rinkinys statusas =" OFF ", kur id = '$ sesija [id]");
Kas atsitinka, kai narys nesąveikauja daugiau nei 10 minučių?
Jūs galite pamatyti kiekvieną kartą, bet atidarius puslapį ir jeigu puslapis skambina bottom.php puslapį, tada visi vartotojai bus pakeistas statuso OFF, jei jų tm (lauke) yra mažiau nei 10 minučių, šiuo metu. Taigi, jei nė vienas kitas narys atvėrė bet kokius puslapius, statusas nebus pakeisti į OFF. Jei manote, kad tai turi būti pasirūpinta, tada galite naudoti vieną kalendorius (WIN serveris) arba cron paleisti status atnaujinimo kartą per 10 minučių,. Patikrinkite aukščiau užklausą trečiojo etapo.
Parodyta, kurie veikia ne svetainėje
Mes jau išlaikė kodu viduje bottom.php failą, todėl nuo bet kurio kito puslapio, šis puslapis gali būti vadinamas. Jūs galite pamatyti šio puslapio kodą viduje, kai mes naudojamas vieną paprastą užklausą rinkti vartotojo vardą, kurių statusas yra ir laikas, laukas (tm) yra daugiau nei šiuo metu, atėmus 10 minučių. Užklausa yra čia.
$ Qt = mysql_query ("SELECT userID iš plus_login TM> '$ tm ir statusas =" ON ");
Poilsis yra paprastas ekranas vartotojo ID, jūs galite pamatyti, kaip rodyti mūsų duomenų rodymo pamoka.
Tai viskas, atsisiųsti zip failas , kuris čia lankosi kodas.













































