我正在使用设置会话变量
$this->session->userdata(variable_name, value)
我只想在一段时间后取消设置这个会话变量,我不想取消设置或破坏整个会话,我想在 30 分钟后取消设置上面设置的会话变量。
$this->session->unset_userdata(variable_name)
我怎样才能做到这一点?
我正在使用设置会话变量
$this->session->userdata(variable_name, value)
我只想在一段时间后取消设置这个会话变量,我不想取消设置或破坏整个会话,我想在 30 分钟后取消设置上面设置的会话变量。
$this->session->unset_userdata(variable_name)
我怎样才能做到这一点?
一种方法是在您设置会话的位置设置时间戳variable_name。这将使您能够将当前时间与variable_name设置的时间进行比较。
if (!isset(variable_name)) { // optional line if you want to stop the session from resetting
$this->session->userdata(variable_name, value);
$this->session->userdata(timestamp_variable_name, time());
}
// Convert 30 minutes into 1800 seconds ...
// Compare the current time with the time the variable was set ...
if (time() - strtotime($_SESSION['timestamp_variable_name']) > 1800)) {
$this->session->unset_userdata(variable_name);
$this->session->unset_userdata(timestamp_variable_name);
}