사용자가 제공 한 페이지를 추적하는 몇 가지 $ _SESSION 변수가 있습니다. 이 방법을 사용하면 오류 메시지를보다 구체적으로 만들 수 있으므로 웹 응용 프로그램을 더욱 사용자에게 친숙하게 만들 수 있습니다. 사용자가 어떤 페이지에서도 오지 않으면 메인 페이지 상단에 "환영"메시지가 표시됩니다. 그러나 브라우저를 닫고 기본 페이지에 액세스하면 세션을 닫기 전에 링크 된 페이지에 해당하는 메시지가 표시됩니다. 이 제 기능입니다 :브라우저가 닫힐 때 세션이 만료되지 않습니다.
function come_from($from_page, $updates_occurred) {
$message = "";
if ($updates_occurred == false) {
$message .= "Welcome to the User List.<br/>";
$message .= "Select the user you wish to update, or add a new user. ";
} elseif ($from_page == "edit_user.php") {
$message .= "The user was successfully updated";
} else {
$message .= "The user was successfully added";
}
return $message;
}
메인 페이지의 상단에, 나는 다음과 같은 코드가 있습니다
이if (isset($_SESSION['updates_occurred'])) {
$updates_occurred = $_SESSION['updates_occurred'];
} else {
$updates_occurred = false;
}
if (isset($_SESSION['come_from'])) {
$come_from = $_SESSION['come_from'];
} else {
$come_from = NULL;
echo "got here";
}
echo come_from($come_from, $updates_occurred);
은 * 단지 사용자가 성공적으로 수정되었는지 여부를 추적 updates_occurred/이전에 추가를 페이지.
내 주요 관심사는 다음과 같습니다. 세션 변수를 사용하는 방식에 문제가 있습니까? 내 이해가 정확하다면 세션 변수는 브라우저를 닫을 때 만료되는 것으로 간주됩니다. 맞습니까? 미리 사람에게 감사 :
죄송합니다 나는 매우 무례한 느낌을 닫 전체 브라우저를 종료해야
세션을 닫지 않습니다! – nv39
전체 브라우저 (모든 탭, 모든 창) 또는 탭 만 닫았습니까? 좋든 나쁘 든간에 세션 쿠키는 대부분의 (모든?) 브라우저에서 계속 탭/창을 열어 놓은 상태에서 계속 살아남 으면 모든 것을 닫아서 파기해야합니다. – DaveRandom
위대한 문제였습니다. 고마워요 :-) – nv39