Tidak perlu merakam sessionid Adakah anda mahu menggunakan sessionid untuk merekodkan masa operasi terakhir keluar tidak normal? Sekeping data terakhir yang dilog masuk oleh pengguna yang sama mestilah operasi log keluar 1. Log keluar biasa, sekeping data seterusnya mestilah log masuk 2 , ubah suai, semak), kali seterusnya mestilah sama Ini operasi log masuk
Jadi panjang log masuk ialah masa log masuk semasa - masa rekod sebelumnya sebelum log masuk seterusnya
Namun, jika pengguna tidak log masuk selepas penutupan tidak normal, ia perlu diproses secara berasingan Contohnya, jika sessionid tamat tempoh tanpa operasi selama 20 minit, semak sama ada rekod terakhir adalah lebih daripada 20 minit yang lalu lebih daripada 20 minit yang lalu, ia akan dianggap sebagai jalan keluar yang tidak normal.
Beri saya beberapa idea Saya secara peribadi berpendapat ia tidak mudah untuk melaksanakannya (pemprosesan logik memerlukan PHP, dan paging juga menyusahkan. Ia perlu dipaparkan dalam paging mengikut tarikh, tetapi tidak mengikut bilangan rekod yang diambil. seperti limit 1 , 10 Untuk paging, SQL tunggal tidak boleh mendapatkan struktur jadual akhir), jadi kita hanya boleh pergi ke sini....
Bolehkah saya bertanya kepada semua orang? Log masuk boleh dirakam, tetapi bagaimana untuk merekod keluar? Pengguna mungkin tidak mengklik butang log keluar. Jika ia adalah web, pengguna hanya boleh menutup penyemak imbas dan membiarkannya begitu sahaja. Bagaimana anda tahu apabila anda log keluar? sesi?
Tidak perlu merakam sessionid Adakah anda mahu menggunakan sessionid untuk merekodkan masa operasi terakhir keluar tidak normal?
Sekeping data terakhir yang dilog masuk oleh pengguna yang sama mestilah operasi log keluar
1. Log keluar biasa, sekeping data seterusnya mestilah log masuk
2 , ubah suai, semak), kali seterusnya mestilah sama Ini operasi log masuk
Jadi panjang log masuk ialah masa log masuk semasa - masa rekod sebelumnya sebelum log masuk seterusnya
Namun, jika pengguna tidak log masuk selepas penutupan tidak normal, ia perlu diproses secara berasingan Contohnya, jika sessionid tamat tempoh tanpa operasi selama 20 minit, semak sama ada rekod terakhir adalah lebih daripada 20 minit yang lalu lebih daripada 20 minit yang lalu, ia akan dianggap sebagai jalan keluar yang tidak normal.
Apa pun, mesti ada pengenalan pengguna untuk menentukan log tingkah laku pengguna itu,
Apabila menulis log, tulis perbezaan masa antara setiap log masuk dan log keluar ke dalam log, dan tambahkannya pada penghujung?
Meja boleh direka seperti ini
Apabila log masuk, masa log masuk direkodkan dalam sesi dan masa keluar ditetapkan sebagai: masa log masuk + masa tamat.
Apabila pengguna aktif, berdasarkan masa log masuk yang direkodkan dalam sesi, masa keluar rekod itu dikemas kini: masa semasa + masa tamat masa.
Apabila keluar, mengikut masa log masuk yang direkodkan dalam sesi, masa keluar rekod itu dikemas kini kepada: masa semasa.
Jadual asal (diandaikan):
Jadual hasil akhir:
Proses terperinci:
Beri saya beberapa idea Saya secara peribadi berpendapat ia tidak mudah untuk melaksanakannya (pemprosesan logik memerlukan PHP, dan paging juga menyusahkan. Ia perlu dipaparkan dalam paging mengikut tarikh, tetapi tidak mengikut bilangan rekod yang diambil. seperti
limit 1 , 10
Untuk paging, SQL tunggal tidak boleh mendapatkan struktur jadual akhir), jadi kita hanya boleh pergi ke sini....Bolehkah saya bertanya kepada semua orang? Log masuk boleh dirakam, tetapi bagaimana untuk merekod keluar? Pengguna mungkin tidak mengklik butang log keluar. Jika ia adalah web, pengguna hanya boleh menutup penyemak imbas dan membiarkannya begitu sahaja. Bagaimana anda tahu apabila anda log keluar? sesi?