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.
Det smarteste er nok at lave en last_online i din tabel i databasen. Så kan du hele tiden når en bruger gør noget indsætte NOW() her - så kan du når du tæller online brugere vælge alle dem, for hvilket forskellen mellem NOW og last_online er under 10 minutter.
en idé (som jeg ikke prøvet, men skal prøve på min hjemmeside) er at hver gang brugerer henter en side så bliver en variabel i databasen sat til dato og tidpunkt. Når man så skal kigge efter hvis en brugere er online så er det ikke en boolean variabel, uden man kigger hvor lang tid har gått sen brugeren lavet noget, f.eks 10 minuter senere betyder udlogged.
og i login.php skal den vel lige rettes til: mysql_query("UPDATE brugere SET online = 'ja' WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
når du så vil lave et check på om de har været aktive indenfor 10 minutter, så laver du fx denne <-- skrevet forkert. Når du laver den funktion, så vil alle der har været in-aktive i mere end 10 minutter blive logget af, og med scriptet nede under vil de så blive logget HELT af igennem dit logud script hvis de er sat til nej i online i tabellen brugere :)
ser rigtig godt ud, har nu sat mit script til at køre med den indsætter en ny sidste login hver gang man logger ind, forstår desværre ikke helt med det andet og til det sidste du har skrevet har jeg desværre ikke en logud.php endnu.
aij, lave da sidste_login til en DATETIME, indsæt den som NOW() og test med DATE_SUB(NOW(), INTERVAL 10 MINUTES) < sidste_login - at gemme tid i int's og lave det i php er da direkte fjollet, når mysql fint understøtter det nativt.
hmm forstår jeg ikke meget af, altser jeg skal lægge <? if (mysql_result(mysql_query("SELECT online,brugernavn FROM brugere WHERE brugernavn='$_SESSION[brugernavn]'"),0) == 'nej') { ?> <script> window.location="logud.php"; </script> <? // erstat logud.php med din logud fil. } ?>
Vil du gerne have, at folk bliver smidt af, hvis de ikke har været aktive i 10 minutter, eller vil du bare bruge det til at registrere hvor mange, der har været aktive i 10 minutter?
Smides ud lige frem - det skal vel bare logges af :)
Men du skal ikke bruge det til at registrere antal online, så?
I så fald skal du i toppen af hver eneste fil (i noget du includer alle steder hvor brugere skal være logget ind for at kunne se det) skrive:
<?php $res = mysql_query("SELECT COUNT(1) FROM brugere WHERE brugernavn='$_SESSION[brugernavn]' AND DATE_ADD(sidst_online,INTERVAL 10 MINUTES) > NOW()"); if (mysql_result($res, 0) == "0") { // han er for gammel, log ham af session_destroy(); header("Location: logind.php"); exit; } mysql_query("UPDATE brugere SET sidst_online = NOW() WHERE brugernavn = '$_SESSION[brugernavn]'"); ?>
<? if (mysql_result(mysql_query("SELECT online,brugernavn FROM brugere WHERE brugernavn='$_SESSION[brugernavn]'"),0) == 'nej') { ?> <script> window.location="logud.php"; </script> <? // erstat logud.php med din logud fil. } ?>
skal lægges ind i toppen af alle filer som kører for sig selv. Hvis alle sider kører igennem index siden, så vil det være nok bare at smide den i toppen af index siden.
barklund > ikke altid at session_destroy i det tilfælde er den bedste løsning hvis man nu bruger nogle af session variablerne efter en person er logget ud :) derfor er det bedre at pege personen til logud scriptet hvor man nulstiller session variablerne til det man har brug for. Hvis den nu i session husker hvilken side den sidst var på fx så vil den være blank efter session_destroy() .. ikke godt :) kan skabe stort kaos :)
troxa, well, jeg går ud fra, at han selv kunne finde ud af at rette til det nødvendige. Måske det skal cleares nogle cookies og andre ting - ingen ved det.
Men det er da overhovedet ingen grund til at bruge javascript til at lave clientside redirect.
Hvis man har en generel logup.php så kan man enten bare require den eller bruge en location-header.
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.