Vi kan finde ud af, hvem der er online eller logget på systemet. Dette vises også som medlemmer aktive nu på bunden af ethvert websted eller i nogen login-system. Dette er integreret i en login-system for ethvert websted. Vi vil forsøge at lære, hvordan et sådant system fungerer og vise navnene (eller bruger IDS) af medlemmerne er aktive på stedet. Dette er en del af et system, hvor medlemmerne logge ind med deres brugernavn og password.
Som du kan forstå de medlemmer session detaljerne efter login gemmes på server side og ikke på klienten ende. Så får de oplysninger fra serveren, er ikke mulig, da scripts ikke vil have root-adgang. Så vi vil forsøge at opretholde en mere parallelt system at kende, der er logget ind Her er nogle skridt, vi har taget udelukkende til dette, og lad os lære forskellige trin i dette script.
Lagring af login-oplysninger i en tabel
Hver gang et medlem succes Loges i, vil vi gemme oplysninger ved at tilføje en post til vores bord udelukkende oprettet til dette formål. Vi kalder denne tabel som plus_login. Det har fem felter lagring session id inde feltnavn id, usrid lagring bruger id logget på som medlem, ip-adresse af systemet fra, hvor medlemmet har logget ind, tid logge ind på feltnavnet tm, og status, som vil blive på OFF når medlemmet er logget ud, og vi vil sætte den til ON som standard. Så når et medlem er logget ind vil vi gemmer alle disse oplysninger ved at indsætte en rekord, hvor status som standard bliver sat til ON. Strukturen af tabellen (SQL dump) er tilgængelige i download zip-filen i slutningen af denne tutorial.
Opdatering af status i den medlemsstat,
Vi har status gemt i vores plus_login bordet, hvor vi har sat status til ON. Sammen med den status vi også lagre den tid, der er logget ind Nu er vi nødt til at opdatere denne status til ON og opdatere den nye tid (feltnavn tm) på hver gang medlemmet åbner inde i medlemsområdet. Vi har holdt koden til at opdatere den plus_table med ny tid og status på indersiden siden bottom.php. Denne side bottom.php kaldes af alle sider i slutningen. Denne bottom.php side gør tre arbejdspladser. For det første opdatere status for indloggede bruger med ny tid og sæt status til ON. Her er koden for dette første skridt.
$ Tm = dato ("Ymd H: i: s");
$ Q = mysql_query ("update plus_login set status = 'ON', TM = '$ tm', hvor id = '$ session [id]'");
For det andet er det markerer status til OFF for alle de medlemmer, der ikke har interageret med siden indenfor de sidste 10 minutter. (Det er årsagen til at vi vil gøre status på, og ny tid til hver side indkaldelse af medlemmet). Her er koden inde bottom.php for dette trin.
$ Mellemrum = 10 / / Gap værdi kan ændres, er i minutter.
/ / Lad os finde ud af tid, før 10 minutter af tiden. / /
$ Tm = dato ("Ymd H: i: s", mktime (dato ("H"), dato ("I") - $ hul, dato ("s"), dato ("M"), dato (" d "), dato (" Y ")));
Her er forespørgslen at gøre dette
$ Ut = mysql_query ("update plus_login set status = 'OFF', hvor TM <'$ tm'");
På tredje trin den indsamler medlemslandene login ID'er, som tiden er indenfor de sidste 10 minutter, og status er indstillet til ON. De er vores logget ind medlemmer, eller som er aktive på stedet. Koden kan du se en Viser, der er aktive på stedet sektion (scroll ned)
Hvad sker der, når en bruger logger ud
Vi ændrer status på systemet til OFF og ødelægge sessionen. Vi har holdt denne kode inde logout side.
$ Q = mysql_query ("update plus_login set status = 'OFF', hvor id = '$ session [id]'");
Hvad sker der, når medlemmet ikke interagerer i mere end 10 minutter?
Du kan se, hver gang en side åbnes, og hvis den side kalder bottom.php side, så alle brugere vil blive ændret til status OFF, hvis deres tm (felt) er mindre end 10 minutter af tiden. Så hvis ingen andre medlemmer har åbnet en side, så status vil ikke skifte til OFF. Hvis du tror, det er at blive taget sig så kan du bruge en scheduler (win server) eller cron til at køre statusopdatering del gang hvert 10. minut. Se forespørgslen ovenfor i det tredje trin.
Viser der er aktive på stedet
Vi har holdt kode inde bottom.php fil, så fra enhver anden side denne side kan kaldes. Du kan se koden inde i denne side, hvor vi har brugt en simpel forespørgsel til at indsamle bruger-id, som status er ON og tid feltet (tm) er mere end nuværende tidspunkt minus 10 minutter. Forespørgslen er her.
$ Qt = mysql_query ("SELECT userid fra plus_login hvor TM> '$ TM' og status = 'ON'");
Resten er simpel visning af bruger-id'er, kan du se, hvordan skal vises i vores data display tutorial.
Det er alt, downloade zip-fil med hvem der er online kode her.













































