10/10/2018, 09:19

Khi thoát khỏi trình duyệt.

Mình đang viết một chương trình tính thời gian làm việc của nhân viên hàng ngày, mỗi nhân viên khi bắt đầu làm việc thì sẽ login vào hệ thống và thời gian bắt đầu tính, thời gian kết thúc sẽ được tính khi nhân viên đó logout, khi đó thời gian finish sẽ được update trong cơ sở dữ liệu. Nếu một nhân viên cứ vào bình thường rồi logout thì không nói làm gì rồi, vấn đề là theo thói quen thì không mấy ai chịu kick vào cái nút logout mà tắt luôn trình duyệt, như thế mình không thể biết nhân viên đó đã logout để update thời gian, mình đã tính đến dùng unload nhưng không hợp lý lắm do hệ thống có nhiều module khác nhau.

Bạn nào có giải pháp giúp mình với. Many thanks.
conan1212 viết 11:26 ngày 10/10/2018
Trong sự kiện Unload cho thêm cái confirm nữa để xác nhận xem có phải là logout ko, hay chỉ là vô tình đóng cửa sổ or tab.

Nhưng nếu User bị cúp điện đột ngột, máy bị treo, hay User cố tình tắt bằng Task Manager thì chịu. Cái nào cũng có problem hết, vấn đề của bạn là chọn cái solution nào ít có problem để mà dùng thôi.
herofit viết 11:25 ngày 10/10/2018
vấn đề đề mình nghĩ sài set thời gian time và dùng ajax. Nhưng nếu mạng lởm thì out thường xuyên cũng hơi nản

"phong ta bão táp không bằng mạng lag việt nam"
bka viết 11:25 ngày 10/10/2018
Được gửi bởi chuot_jery
Mình đang viết một chương trình tính thời gian làm việc của nhân viên hàng ngày, mỗi nhân viên khi bắt đầu làm việc thì sẽ login vào hệ thống và thời gian bắt đầu tính, thời gian kết thúc sẽ được tính khi nhân viên đó logout, khi đó thời gian finish sẽ được update trong cơ sở dữ liệu. Nếu một nhân viên cứ vào bình thường rồi logout thì không nói làm gì rồi, vấn đề là theo thói quen thì không mấy ai chịu kick vào cái nút logout mà tắt luôn trình duyệt, như thế mình không thể biết nhân viên đó đã logout để update thời gian, mình đã tính đến dùng unload nhưng không hợp lý lắm do hệ thống có nhiều module khác nhau.

Bạn nào có giải pháp giúp mình với. Many thanks.
có gì khó khăn đâu nhỉ? 1 cafe em nói cho. hê hê
herofit viết 11:19 ngày 10/10/2018
Được gửi bởi bka
có gì khó khăn đâu nhỉ? 1 cafe em nói cho. hê hê
tự tin nhỉ nếu bạn có giải pháp toàn diện thì 1 cafe chứ 10 thì sẵn sàng
bka viết 11:33 ngày 10/10/2018
Được gửi bởi herofit
tự tin nhỉ nếu bạn có giải pháp toàn diện thì 1 cafe chứ 10 thì sẵn sàng
vấn đề là ai đứng tên mời em đi uống cafe đây?

bạn tạo 1 folder là infomem.
viết 1 file info.php có chức năng đọc các file có trog folder vừa tạo trên.
cái này nhằm mục đích lấy thông tin file (ngày , tháng , năm lưu file)
đầu tiên bạn dùng ajax trên trang chủ request file info.php khoảng 5 phút 1 lần . và file info.php lúc này có chức tạo 1 file trong folder infomem với tên chính là tên của username lúc login. như vậy quá trình tạo mới là liên tục khoảng 5 phút 1 lần. nếu thành viên còn online thì file mới được tạo sẽ đè lên file cũ . và thời gian tại thời điểm đó sẽ được cập nhật..

như vậy khi thành viên out hoặc tắt trình duyệt . thông tin về lần cuối cùng được tạo sẽ được lưu giữ. công việc cuối cùng của bạn là show các file trong folder đó ra và sẽ lấy được thông tin giờ, ngày tháng của file. đó cũng chính là lần xuất hiện cuối cùng của mem.


vấn đề này em từng giải quyết rùi mà. đừng bảo em viết code ra nữa nha. việc tạo 1 file và lấy thông tin ngày giờ được tạo là rất đơn giản phải không?

bạn cũng có thể làm tương tự với cơ sở dữ liệu là MYSQL
chuot_jery viết 11:33 ngày 10/10/2018
Uhm, thanks bạn nhiều. Như thế này chắc là ổn rồi.
Bài liên quan
0