我有一个php函数:
function show_countdown_session($thread_id){
if(isset($_POST['start-chat'])){
return '
<!--content-->
<form action="" method="POST" id="end-chat-session">
<button type="submit" name="end-chat" value="chat-session-end"
id="end_chat-session-btn" required >End chat session</button>
</form>
<!--content-->
';
} else {
return '
<!--content-->
<form action="" method="POST">
<button type="submit" name="start-chat"
value="chat-session-start">Start chat now</button>
</form>
<!--content-->
';
}
}
提交结束聊天会话后,请运行以下功能:
$currentPage = $_SERVER['REQUEST_URI'];
if(isset($_POST['start-chat'])){
$_SESSION['start_chat'] = date("Y-m-d H:i:s");
$start_chattime = $_SESSION['start_chat'];
//DB updates
}
if((isset($_POST['end-chat'])) || ($currentPage != $_SERVER['REQUEST_URI'])){
$_SESSION['end_chat'] = date("Y-m-d H:i:s");
$end_time = $_SESSION['end_chat'];
//DB updates
}
但是当用户离开页面而没有提交“结束聊天会话”按钮$end_time
时,没有设置数据库也没有更新,因此在每种情况下我都需要更新数据库(无论在start_chat之后用户将做什么)。
我该如何解决?