25. december 2002 - 12:09Der er
14 kommentarer og 1 løsning
Slette brugere der er gået
Jeg har en chat, men har det store problem som alle andre, at hvis man ikke trykker logud men bar bruger X i højre hjørne, så kommer der problemmer... Mit problem er at jeg gerne vil have den til at fortælle når folk de forlader chatten... Jeg har en tabel med online users, som sletter folk der fra hvis en speciel tid er gået:
$onlinephptid = $phptid-15; mysql_query("delete from chat_online where time < '$onlinephptid'"); mysql_query("delete from chat_online where nick = '$loginnick'"); mysql_query("insert into chat_online (ip,nick,time) values ('$ip','$loginnick','$phptid')") or die(mysql_error());
Men så kunne jeg også godt tænke mig at den skrev at personen har forladt chatten...
i min logaf.php har jeg lavet sådan:
mysql_query("insert into chat_msg (besked,fra,til,ip,time,type,frakon) values ('$loginnick forlader chatten','Chatten','Alle','$ip','$phptid','all','Chatten')") or die(mysql_error());
Men kan det lade sig gøre også at køre den mySQL-query hvis logaf.php ikke bliver brugt!!? Jeg har prøvet en del, men jeg kan ikke finde ud af hvad jeg skal gøre for det!!
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.
Ja.. Men man kan ikke i PHP, gøre så nå nogen trykker på LUK, så sender den en kommando (Hvad jeg ved af)..
Så du skal have et eller anden script, til hele tiden at sprøge om han/hun er online/aktiv og hvis han/hun ikke er det i f.eks. 15 min. så bliver han smidt ud..
nej, det er ikke noget med den skal smides ud.. Hvis personen FRIVIILIG er gået, uden at trykke logud, så ved chatten jo ikke at den er gået... Online listen bliver opdateret ved at den ikke bliver opdateret fra brugeren, men den kan jo ikke skrive at personen er smuttet.. det er det jeg vil
Hvis alle brugere sætter et slags stamp i en database, og alle onlinebrugere tjekker DB'en hver gang de gør noget - så kan dem der er online, tjekke DB'en for brugere der har et stamp der er ældre end 15 min., og nulstille dem.....og opdatere deres eget på samme tid.
if ($phptid > $onlinetime) { $foresp = mysql_query("SELECT * FROM chat_online WHERE nick = '$onlinenick'") or die(mysql_error()); while($row = mysql_fetch_array($foresp)) { $nynick = $row["nick"]; if ($nynick == '') { mysql_query("delete from chat_online where id = '$onlineid'"); mysql_query("insert into chat_msg (besked,fra,til,ip,time,type,frakon,tid) values ('$onlinenick forlader chatten (Ingen Respons)','Chatten','Alle','$ip','$phptid','all','Chatten','$tid')") or die(mysql_error()); } } } }
mysql_query("delete from chat_online where nick = '$loginnick'"); mysql_query("insert into chat_online (ip,nick,time) values ('$ip','$loginnick','$phptid')") or die(mysql_error());
$foresp = mysql_query("SELECT * FROM chat_online WHERE time < '$phptid") or die(mysql_error()); while($row = mysql_fetch_array($foresp)) { $onlineid = $row["id"]; $onlinetime = $row["time"]; $onlinenick = $row["nick"];
mysql_query("delete from chat_online where id = '$onlineid'"); mysql_query("insert into chat_msg (besked,fra,til,ip,time,type,frakon,tid) values ('$onlinenick forlader chatten (Ingen Respons)','Chatten','Alle','$ip','$phptid','all','Chatten','$tid')") or die(mysql_error()); }
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.