ユーザーログイン&のログアウトにセッションを使用しています。私は30分後にユーザーが非アクティブになると自動的にログアウトしなければならないという要件があります。私は&検索いくつかのソリューションを試みたが、しかし、うまくいかなかった。私は解決策の下に試してみました:30分間何も操作しないとユーザーログアウトを行う方法は?
解決法1:
if(time() - $_SESSION['timestamp'] > 900) { //subtract new timestamp from the old one
echo"<script>alert('15 Minutes over!');</script>";
unset($_SESSION['email'], $_SESSION['user_id'], $_SESSION['timestamp']);
session_destroy();
$_SESSION['logged_in'] = false;
header("Location: " . index.php); //redirect to index.php
exit;
} else {
$_SESSION['timestamp'] = time(); //set new timestamp
}
対処方法2:
function auto_logout($field)
{
$t = time();
$t0 = $_SESSION[$field];
$diff = $t - $t0;
if ($diff > 3000 || !isset($t0))
{
return true;
}
else
{
$_SESSION[$field] = time();
}
}
if(auto_logout("email"))
{
session_unset();
session_destroy();
header('Location: index.php');
exit;
}
それらのどちらもが働いて、いずれかのユーザーの最後の活動を追跡してその時間を確認する方法を教えてもらえます現在の時間が30分を超えている場合は、そのユーザーをログアウトさせますか?
はあなたがこの – Jer
まず、感謝のために '$アヤックスを()'使用することができますあなたのクイック返信、コードでそれを行う方法を教えてもらえますか? –