I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
når en side bliver ramt skal du så indsætte i denne tabel, det kunne du gøre med
REPLACE INTO online SET last_seen = NOW(), user_id = <user_id_eller_0>, php_session = <sess_id>
Hvis du tilføjer et session id til en bruger når denne rammer din side for første gang vil dette følge ham rundt og på hver side vil dette blive opdateret. Hvis han så vælger at logge ind vil hans bruger id blive indsat i online tabellen. Hvis en besøgende ikke er logget ind skal du bare indsætte 0 i den kolonne.
Når en bruger logger ind er det nok en god ide lige at fjerne gamle rækker med dette bruger_id hvilket du gør med
DELETE FROM online WHERE user_id <den bruger der lige har logget ud>
Antallet af online _bruger_ er så givet ved SELECT count(DISTINCT(user_id)) as online_bruger FROM online WHERE user_id > 0 AND DATE_ADD(last_seen, INTERVAL 15 MIN) > NOW()
Antallet af gæster er: SELECT count(1) as guest_online FROM online WHERE user_id = 0 AND DATE_ADD(last_seen, INTERVAL 15 MIN) > NOW();
Og det totalt antal online er så summen af de to tal eller SELECT count(1) as online from online DATE_ADD(last_seen, INTERVAL 15 MIN) > NOW();
konfjong: Du skal se på kode "indfra og ud". Så du starter med at undersøge hvad session_save_path() [1] gør. Det er så der man gemmer data fra sessions. Derefter bliver glob() [2] brugt og vi ser at det retunerer et array indeholdende alle paths der har formatet "her gemmer vi sessions"/sess*, hvilket vil sige at alle paths til sessions bliver lagt som elementer i arrayet. Så kan man jo bare tælle [3] antallet af elementer i arrayet for at få antal live sessions.
Den udskriver såmænd bare antallet af session filer. Men det kræver selvfølgelig at du sætter php til at rydde op i dine sessionfiler. Alt efter hvor mange brugere du har online samtidig må du sætte: session.gc_probability (måske helt op til 100%) i 'php.ini'. Ligesom: session.gc_maxlifetime ikke skal være for høj, omkring 60-120 (1-2 minutter).
Der er fordele og ulemper ved begge løsninger. Din er ufattelig hurtig at implementere, mens database løsningen bliver lidt større muligheder med hensyn til settings, hvis man ikke har adgang til at ændre i php.ini
ikke umiddelbart. Vi vil jo gerne indsætte en ny række i tabellen hvis session-idet ikke findes. Og da jeg har oprettet session-id som primær nøgle vil det netop være en update når der allerede findes en række med samme session-id.
Med mindre du gerne vil have oplevelsen af at implementere noget ville jeg nok umiddelbart benytte detox forslag. Specielt hvis du har mulighed for at ændre i php.ini
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.