酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: danielkimo 於 2009-01-06 16:01

主題: 請問如何顯示使用者上線或離線的狀態
作者: danielkimo2009-01-06 16:01
我是把某個session變數加上使用者登入的頁面
一旦密碼驗證成功seesion變數直就給予1,表示上線
當使用者按下登出系統時,logout那個頁面就會把session變數改成0,表示離線
但是很多使用者都不會按登出系統就直接關掉
那不就永遠都顯示在線上了
拜託大家解答
謝謝
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-06 16:14
記錄 user 動作的時間, 設定多久沒動作便判斷為離線..
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Darkhero2009-01-06 16:23
要加上 expire 的判斷...
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-06 16:35
我是把某個session變數加上使用者登入的頁面
一旦密碼驗證成功seesion變數直就給予1,表示上線
當使用者按下登出系統時,logout那個頁面就會把session變數改成0,表示離線
但是很多使用者都不會按登出系統就直接關掉
那不就永遠都顯示在線上了
拜託大家解答
謝謝
這樣的設計方式怪怪的
首先Session變數是個人私有的
你怎麼去統計目前所有存在中Session呢?
除非你是把session改用db去儲存
或是直接去統計session存放的檔案
不然這作不到吧
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: danielkimo2009-01-06 16:49
我是把某個session變數加上使用者登入的頁面
一旦密碼驗證成功seesion變數直就給予1,表示上線
當使用者按下登出系統時,logout那個頁面就會把session變數改成0,表示離線
但是很多使用者都不會按登出系統就直接關掉
那不就永遠都顯示在線上了
拜託大家解答
謝謝
這樣的設計方式怪怪的
首先Session變數是個人私有的
你怎麼去統計目前所有存在中Session呢?
除非你是把session改用db去儲存
或是直接去統計session存放的檔案
不然這作不到吧

session是存到資料庫
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-06 17:23
那就在table的欄位加上個最後存取時間不就得了
超過一段時間內沒有去存取session的人
就可以把他視為離線嘍
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: appleboy2009-01-07 23:33
嗯嗯,存在db的作法,就跟 phpBB 作法一樣了

這方法還蠻不錯的
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: micmic32009-01-08 09:07
嗯嗯,存在db的作法,就跟 phpBB 作法一樣了

這方法還蠻不錯的
但是loading大...
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: danielkimo2009-01-08 09:16
不好意思小弟是初學者
請問一下我要怎樣記錄使用者登入的時間呢
是要用特殊函式嗎
謝謝
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: micmic32009-01-08 09:24
不好意思小弟是初學者
請問一下我要怎樣記錄使用者登入的時間呢
是要用特殊函式嗎
謝謝
.....session.......
session都存到資料庫了不是嗎?
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-08 09:25
不好意思小弟是初學者
請問一下我要怎樣記錄使用者登入的時間呢
是要用特殊函式嗎
謝謝
善用搜尋可以找到很多東西
這個問題以前不是有很多類似的討論?
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: danielkimo2009-01-08 16:58
各位高手您好,
小弟有努力使用過google搜尋
但是還是找不到
不知道是不是我關鍵字下錯了
但是我也不知道要怎樣下關鍵字
我是下php 記錄登入時間
結果都沒有找到符合的結果
拜託大家指點我一下
謝謝

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-08 17:19
上面不是已經提供了幾個方法了嗎?
如果樓主仍茫然抓不到要點.....
建議 PHP 的基礎功課要再加油~~
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: hikohan2009-01-08 17:21
C/S之間有session或制訂的UID cookied,當進入服務頁面開始,用一個簡單的aj去告訴伺服器,用戶端還在,當然,你也可以判斷子端所在的頁面。

用戶XXX, 登入時間, 所在時間, 停留時間, 停留頁面

把記錄的資料寫在資料庫裡面,當統計需求進入時,判別停留時間是否已經逾時,超過的就當作不在線上。

先看看有沒有現成的可以撿。
http://www.google.com.tw/search?hl=zh-TW&q=php+user+online+stats&btnG=%E6%90%9C%E5%B0%8B&meta=&aq=f&oq=

恭喜,第一頁裡面就有了,也是以前很喜歡去撈寶的地方
http://www.hotscripts.com/PHP/Scripts_and_Programs/Counters/Real-Time/index.html

站在巨人的肩膀上,你可以在還沒變成巨人的時候看得更遠。

奇怪,綠巨人怎麼不用這一段。

--

祝您寫得愉快。
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: micmic32009-01-09 09:38

站在巨人的肩膀上,你可以在還沒變成巨人的時候看得更遠。

奇怪,綠巨人怎麼不用這一段。

大概是他不喜歡別人站在他身上...flee
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-09 09:40
直接使用站內搜尋 找session就可以翻出一堆東西了阿 :P
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-09 15:09
各位大大很抱歉小第努力搜尋session
還是搞不清楚要怎樣弄才能做出那樣的功能
請問這個功能很複雜嗎
小弟有點搞不清楚到底應該怎樣下手
拜託各位指點一下
感激不盡
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-09 16:43
這篇 (http://phorum.study-area.org/index.php/topic,50415.0.html) 不就有範例了嗎??!!
不過就是在 write session data時多加上一個 laste update 的欄位紀錄session最後的寫入時間!!
如果你不知道該如何寫入DB,也不知該如何該如何下SQL的話
那建議你先把基本功打好

按部就班先學好如何存取DB再來吧

別只拿一根木劍就想要去砍王 ;)

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-09 16:54
我知道怎樣寫入資料庫
但是不懂你們說的紀錄session時間要怎麼弄

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-09 17:33
先說說你怎麼找出線上的使用者??
你的判斷依據是什麼呢?
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-10 09:57
我的構想是當使用者登入系統時,系統會產生一組屬於他自己的session然後記錄登入的時間,並寫入資料庫.
然後登入後台之後就開始記錄目前的時間,然後加一個判斷式去判斷目前的時間扣掉寫入資料庫的時間大於多少,就會自動執行登出的動作
但是我不知道要用哪個函式能夠幫我捕捉到當初登入的時間
用data嗎?
請求指教
謝謝
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-10 10:54
我的構想是當使用者登入系統時,系統會產生一組屬於他自己的session然後記錄登入的時間,並寫入資料庫.
然後登入後台之後就開始記錄目前的時間,然後加一個判斷式去判斷目前的時間扣掉寫入資料庫的時間大於多少,就會自動執行登出的動作
但是我不知道要用哪個函式能夠幫我捕捉到當初登入的時間
用data嗎?
請求指教
謝謝

這不是前後自我矛盾嗎!?

會操作資料庫, 該有的資料也有存進資料庫了...
那接下來不就是依據存入的方式抓出資料來嗎!? ::)
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-10 14:23
上面那只是構想兩字
實際的問題就是我不知道要用哪個函式才能記錄時間
如果知道那個我就能把時間記錄到資料庫了
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: appleboy2009-01-10 14:30
上面那只是構想兩字
實際的問題就是我不知道要用哪個函式才能記錄時間
如果知道那個我就能把時間記錄到資料庫了


囧,查一下文件就可以了,我是建議你買書來看,因為我感覺你不太熟

資料庫欄位可以用 date 或者是 int(11)

我都是用 int(11),然後存放 time(); 這個時間

參考

http://tw.php.net/manual/en/function.time.php

http://tw.php.net/manual/en/function.date.php

學 php 沒啥技巧,官方網站一堆程式讓你 copy

這樣很快吧。
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-10 14:46
感謝樓上分享
這樣說我就知道怎麼用了
謝謝
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-10 17:31
如果你不知道該如何寫入DB,也不知該如何該如何下SQL的話
那建議你先把基本功打好
按部就班先學好如何存取DB再來吧
別只拿一根木劍就想要去砍王 ;)

我知道怎樣寫入資料庫
但是不懂你們說的紀錄session時間要怎麼弄

上面的對話
我會認為樓主的基本功已經練好
所以才會告訴你去哪裡砍魔王
結果在魔王面前卻是一招半式也打不出來...

真心建議樓主重新再學好基本功
不要書看了幾頁就急著要打魔王 orz..
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: tnsshnews2009-01-14 13:20
因為我本來不會寫程式
但是目前工作需要開始要寫了
也沒有時間可以讓我慢慢學
所以我是就先要用到的部分先學起來
所以可以會是片片斷斷
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-14 13:52
因為我本來不會寫程式
但是目前工作需要開始要寫了
也沒有時間可以讓我慢慢學
所以我是就先要用到的部分先學起來
所以可以會是片片斷斷

雖然如此, 還是建議找幾本相關的書
例如, php, mysql, html javascript, css
不然寫出來的東西, 或許可以跑
但是會漏洞百出
或是效率不好之類的..

而且
不能先了解所用的工具有哪些可用功能
如何能發揮該工具真正的效能呢!!
共勉之~~~
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: gwstudy2009-01-14 15:47
因為我本來不會寫程式
但是目前工作需要開始要寫了
也沒有時間可以讓我慢慢學
所以我是就先要用到的部分先學起來
所以可以會是片片斷斷

以我的建議是:
放棄吧,寫程式不是那麼簡單的,絕對不是看幾本書,花兩年時間就會的。

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-14 16:08
因為我本來不會寫程式
但是目前工作需要開始要寫了
也沒有時間可以讓我慢慢學
所以我是就先要用到的部分先學起來
所以可以會是片片斷斷

以我的建議是:
放棄吧,寫程式不是那麼簡單的,絕對不是看幾本書,花兩年時間就會的。

不同意這種消極的說法..

看幾本書, 有人肯真的下功夫, 兩年時間夠長了
不肯真的投入,  只是走馬看花, 那當然是無法進入狀況~~

再說, 有時候事情到頭上來, 不是兩手一攤說不會就能沒事..
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: ricky2009-01-14 17:12
建議樓主
還是按部就班的來,把基礎打好
切記你是在"寫程式"不是在"湊程式"
尤其是安全的這一塊
像是SQL injection以及global變數的避免(還有一堆該注意的地方)
寫出來的東西效能不好,還可以騙騙老闆說Server不夠力該換個Server
要是哪天被清空資料庫,那可是會讓你當場領失業補助
在這個行業打滾,還蠻重視過去作過哪些"豐功偉業"
要是你的作品漏洞百出
大概也沒有老闆敢任用吧
共勉之
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: johnpupu2009-01-14 18:54
因為我本來不會寫程式
但是目前工作需要開始要寫了
也沒有時間可以讓我慢慢學
所以我是就先要用到的部分先學起來
所以可以會是片片斷斷

以我的建議是:
放棄吧,寫程式不是那麼簡單的,絕對不是看幾本書,花兩年時間就會的。



我也不太認同...我php 寫到現在應該是2年出頭 ...
我當初連書也沒看........只看手冊.....和公司即有的程式碼就寫了....
我覺得有心想學兩年很夠了..
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: micmic32009-01-15 09:24
嗯....只要有心.....
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: gwstudy2009-01-15 13:59
嗯....只要有心.....
只要有心都會學好,但那是學好後上戰場作戰了。而樓主是「本來就不會寫程式, 但是目前工作需要,開始要寫了,也沒有時間可以讓他慢慢學」。這樣就叫他去打仗,跟叫他去死一樣。而且通常死的不是他,可能是公司、可能是消費者。

我仍然勸樓主放棄,跟主管溝通吧。
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: gwstudy2009-01-15 15:24
嗯....只要有心.....
只要有心都會學好,但那是學好後上戰場作戰了。而樓主是「本來就不會寫程式, 但是目前工作需要,開始要寫了,也沒有時間可以讓他慢慢學」。這樣就叫他去打仗,跟叫他去死一樣。而且通常死的不是他,可能是公司、可能是消費者。

我仍然勸樓主放棄,跟主管溝通吧。


我提供一下今天看到的文章,蠻不錯的。
http://blog.vgod.tw/category/computer-%E9%9B%BB%E8%85%A6%E8%88%87%E4%BA%BA%E7%94%9F/programming/%E8%BF%BD%E6%B1%82%E7%A5%9E%E4%B9%8E%E5%85%B6%E6%8A%80%E7%9A%84%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E4%B9%8B%E9%81%93/

如果上面連結不能點,請上 http://blog.vgod.tw/ 查閱「追求神乎其技的程式設計之道」

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: Yamaka2009-01-15 16:47
嗯....只要有心.....
只要有心都會學好,但那是學好後上戰場作戰了。而樓主是「本來就不會寫程式, 但是目前工作需要,開始要寫了,也沒有時間可以讓他慢慢學」。這樣就叫他去打仗,跟叫他去死一樣。而且通常死的不是他,可能是公司、可能是消費者。

我仍然勸樓主放棄,跟主管溝通吧。


不會就放棄!!??   是這樣嗎?

如果是這樣, 那人類的歷史應該還停留在丟石頭的階段吧  ::)


「追求神乎其技的程式設計之道」... 呣~~ (抱歉, 我沒看..)


我的程式設計功力只能說是初窺門徑而已
但以我目前的工作來說, 也夠應付了
當然, 我也還不斷的在努力學習..

不過很抱歉...「神乎其技」
並不是我追求的目標

我從來不會因為某人不會而建議他放棄
我的建議通常是「打好基礎」、「加油!!」

建議 gw兄不要因為自己主觀的看法
抹煞了別人學習的機會與權利~
共勉之~~~

主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: gwstudy2009-01-15 21:12
不過很抱歉...「神乎其技」
並不是我追求的目標

我從來不會因為某人不會而建議他放棄
我的建議通常是「打好基礎」、「加油!!」

建議 gw兄不要因為自己主觀的看法
抹煞了別人學習的機會與權利~
共勉之~~~

no, 你誤會我了,我沒有不要他學,我很鼓勵他學他有興趣的東西。我在初碰電腦之前我也不懂電腦。但我的重點在他「本來就不會寫程式, 但是目前工作需要,開始要寫了,也沒有時間可以讓他慢慢學」。

若我有興趣想去蓋高樓,我從未學過建築土木,我想你會鼓勵我。但是我邊學邊蓋(可能還上網來問要怎麼堆磚塊),蓋出來後你敢住嗎?樓主加油吧,我想我也只能說這句話了。
主題: 回覆: 請問如何顯示使用者上線或離線的狀態
作者: gwstudy2009-01-15 21:15
不過很抱歉...「神乎其技」
並不是我追求的目標

我從來不會因為某人不會而建議他放棄
我的建議通常是「打好基礎」、「加油!!」

建議 gw兄不要因為自己主觀的看法
抹煞了別人學習的機會與權利~
共勉之~~~

no, 你誤會我了,我沒有不要他學,我很鼓勵他學他有興趣的東西。我在初碰電腦之前我也不懂電腦。但我的重點在他「本來就不會寫程式, 但是目前工作需要,開始要寫了,也沒有時間可以讓他慢慢學」。

若我有興趣想去蓋高樓,我從未學過建築土木,我想你會鼓勵我。但是我邊學邊蓋(可能還上網來問要怎麼堆磚塊),蓋出來後你敢住嗎?樓主加油吧,我想我也只能說這句話了。


還有,我也對神乎其技沒興趣,那只是他的標題。