Re: [請益] 想要知道有幾個user在線上

看板PHP作者 (相信用心就能夠看見..)時間17年前 (2008/10/17 10:55), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《sonysky (For No Reason)》之銘言: : 請問有什麼方法可以做到 : 1.知道現在有幾個user連到網站 : 2.知道現在有幾個登入的user : 是否有某種$_SESSION可以用呢? : 謝謝 可以參考一下我的寫法,用db去記錄 不過我是php+mssql 所以語法你可能要改一下 // 記錄目前線上人數 @C function online(){ //刪除非今天的資料 $sql="DELETE FROM [online] WHERE DATEDIFF(day,[itime],GETDATE()) !='0'"; $rs = @mssql_query($sql); $ip=$_SERVER['REMOTE_ADDR']; //檢查是否有ip資料 $sql="SELECT * FROM [online] WHERE [ip] ='".$ip."'"; $rs=@mssql_query($sql); if (mssql_num_rows($rs)=='1'){ $sql="UPDATE [online] SET [itime]=GETDATE() WHERE [ip] ='".$ip."'"; }else{ $sql="INSERT INTO [online] ([ip],[itime]) VALUES ('".$ip."',GETDATE())"; } $rs = @mssql_query($sql); //取出小於 300 秒的ip數量(抓5分鐘內) $sql="SELECT [ip] FROM [online] WHERE DATEDIFF(second,[itime],GETDATE()) < 300"; $rs = @mssql_query($sql); $num = @mssql_num_rows($rs); return $num; } DB部份 CREATE TABLE [dbo].[online]( [ip] [varchar](20) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL, [itime] [datetime] NULL, CONSTRAINT [PK_online] PRIMARY KEY CLUSTERED ( [ip] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] -- 相信,用心就能夠看見。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.160.144

10/17 13:48, , 1F
感激不盡
10/17 13:48, 1F
文章代碼(AID): #18z_wk4N (PHP)
文章代碼(AID): #18z_wk4N (PHP)