사용자가 일정 기간 동안 비활성 상태 인 경우 닫아야하는 로그인 페이지가 있습니다. 세션 변수를 쿠키로 설정하는 것이 최선의 방법이라고 생각했습니다. (더 좋은 방법이 있거나 내 방식이 잘못 되었다면 알려주세요). 문제는 스크립트가 실행되기 전에 세션이 파괴되고 쿠키가 설정 해제되고 있다는 것입니다. if 문을 페이지 맨 아래로 이동해야합니까? if 문도 필요합니까? 나는이 권리조차하고 있니? 미리 감사드립니다.사용자가 로그인 한 후 세션에 대한 시간 초과 설정
<?php
require("../includes/header.php");
$expire = time() + 90;
setcookie("User", $_SESSION["user"], $expire);
setcookie("Image", $_SESSION["image"], $expire);
setcookie("Program", $_SESSION["program"], $expire);
setcookie("Email", $_SESSION["email"], $expire);
setcookie("Role", $_SESSION["role"], $expire);
if($expire){
unset($_COOKIE["User"]);
unset($_COOKIE["Image"]);
unset($_COOKIE["Program"]);
unset($_COOKIE["Email"]);
unset($_COOKIE["Role"]);
session_destroy();
echo "Session has expired.";
}
?>
<body>
<div id="page">
<header>
<div id="logo" class="logo_bg"></div>
<div id="fsi_logo" class="logo_bg"></div>
</header>
<div id="main">
<div id="instructor">
<?php
echo "<img id=instructor_image src=" .$_COOKIE["Image"] .">";
echo "<h1>" .$_COOKIE["User"] ."</h1>";
echo "<span><p>" .$_COOKIE["Program"] ."</p> - <h2>" .$_COOKIE["Role"] ."</h2></span>";
echo "<a href=mailto:" .$_COOKIE["Email"] .">" .$_COOKIE["Email"] ."</a>";
?>
</div>
<?php require("../includes/footer.html"); ?>
나는 비슷한 일을했고, 나는이 답변으로 문제가 해결되지 않는 알지만, 당신은 JS 또는 어떤 jQuery를 괜찮다면, 아주 잘 작동 대기 시간 초과라는 플러그인이 설치가 쉽습니다. – Jim
실제로 프런트 엔드 작업 기능을 수행하기 위해 jQuery를 사용하고 있습니다. 나는 플러그인을 체크 아웃 할 것이지만 프론트 엔드에서 더 이상 플러그인을 사용하고 싶지는 않습니다. 그것이 그것에 관해서라면, 나는 아마 그것을 사용할 것이다. 해당 참조 주셔서 감사합니다. –