您能告诉我当用户会话到期或用户关闭浏览器时如何删除下表中的所有记录。
tablename:test
id sessions_id value
1 admin_1 12
2 admin_1 12
我知道临时表,但我不想使用它...因为我在创建表之后无法获取数据。
谢谢:)
我尝试过:
function logout(){
//My query to delete the table
$this->session->sess_destroy();
redirect('login');
}
上述解决方案工作正常,但我想知道如果任何用户没有注销会发生什么......只是关闭窗口。
答案 0 :(得分:4)
试试这个:
timestamp
列UPDATE
此列包含与当前用户相关的每一行的当前时间戳cron
调用PHP脚本,其中每小时DELETE
时间戳太旧的行。答案 1 :(得分:1)
快速阅读http://www.tonymarston.net/php-mysql/session-handler.html。它解释了如何在数据库中保存会话并为您提供完整的解决方案。
答案 2 :(得分:0)
<?php
// $sessions_id is your session id
if(empty($sessions_id) == true ){
//execute query
// for ex delete from test where sessions_id = '$sessions_id';
}
?>