내 시스템에서 계정 로그 아웃을 코딩하는 방법은 무엇입니까? header()를 사용하여 인덱스 페이지로 돌아가서 모든 세션 변수를 삭제했습니다. 그것은 세션을 파괴하지만 세션 변수 (예 : 사용자 이름)없이 이전 페이지로 돌아갑니다 내 웹 사이트의이 로그 아웃 모듈을 수행하는 가장 좋은 방법은 무엇입니까?PHP, 계정을 로그 아웃하는 방법? session_destroy가 도움이됩니까?
-1
A
답변
0
당신은 단순히 내가하는 일이 더 많거나 적은이다 $_SESSION
1
을 비울 수 :
가 표시되어야하기 전에 유효한 로그인이 필요한 모든 페이지를하는뿐만 아니라 유효한 세션 변수 점검 해당 활성 로그인 세션 레코드를 데이터베이스에 저장합니다. 이러한 조건이 충족되지 않으면 오류 경고와 함께 사용자가 리디렉션됩니다.
<a href='logout.php'>Logout</a>
logout.php 에서 :
function deleteSessionCookie() {
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
}
function deleteSessionIfExists() {
if (session_id() != "") {
$_SESSION = array();
deleteSessionCookie();
session_unset();
session_destroy();
}
}
session_start();
// record logout dateTime in db
// Update existing record using $_SESSION["loginCode"] set during login.
deleteSessionIfExists();
// redirect to index page of website
편집 : 내 경우 I에서
session_start();
if (empty($_SESSION["loginCode"]) || empty($_SESSION["userCode"]))
header('index.php?alert=Invalid session');
: 로그인을 필요로하는 페이지의 상단에, 나는 이런 식으로 뭔가를 할 것이다 또한 로그인하는 동안 작성한 다른 많은 세션 변수가 있는지 점검하고 데이터베이스와의 일관성을 위해 세션 값을 점검합니다. (모든 테스트를 함수에 넣습니다. 예를 들어 isValidSession()
이 true 또는 false를 반환합니다. 필요한 경우 모든 페이지에 쉽게 포함 할 수 있습니다.)
관련 문제
- 1. PHP, IMAP 로그 아웃하는 방법?
- 2. 쿠키를 삭제하여 트위터 계정을 로그 아웃하는 방법은?
- 3. Symfony2에서 사용자를 로그 아웃하는 방법
- 4. Xcode의 DevPortal에서 로그 아웃하는 방법
- 5. 로그 아웃하는 방법 facebook-connect PHP
- 6. TortoiseGit : 로그 아웃하는 방법?
- 7. 로그 아웃하는 방법
- 8. 트위터에서 로그 아웃하는 방법
- 9. 로그 아웃하는 방법
- 10. Intellij의 TeamCity 플러그인을 로그 아웃하는 방법
- 11. iOS의 vimeo에서 로그 아웃하는 방법
- 12. 로그인 후 로그 아웃하는 방법
- 13. 달력에 로그인 로그 아웃하는 방법
- 14. 여러 프레임에서 로그 아웃하는 방법
- 15. android - 애플리케이션에서 로그 아웃하는 방법
- 16. 봄 보안에서 로그 아웃하는 방법
- 17. web2py 사용자를 로그 아웃하는 방법
- 18. 로그인 한 사용자를 자동 로그 아웃하는 방법은 계정을 삭제하겠습니까?
- 19. PHPBB - 모든 사용자를 로그 아웃하는 방법?
- 20. 동시에 두 웹 사이트에서 로그 아웃하는 방법 - PHP 세션 처리
- 21. 특정 사용자 세션 (php 및 mysql)을 로그 아웃하는 방법
- 22. Facebook에서 로그 아웃하는 문제
- 23. mysql_auth_module로 로그 아웃하는 방법은 무엇입니까?
- 24. facebook에서 로그 아웃하는 방법 asp.net에 연결 하시겠습니까?
- 25. 피라미드의 모든 사용자를 대량 로그 아웃하는 방법
- 26. agsXMPP 라이브러리를 사용하여 JID를 로그 아웃하는 방법
- 27. facebook으로 로그 아웃하는 방법 C# sdk
- 28. 강제로 사용자 로그 아웃하는 방법 symfony2
- 29. 구글 플러스 GPPSignIn에서 로그 아웃하는 방법?
- 30. websphere에서 쿠키 지우기 - 로그 아웃하는 방법
_ "하지만 세션 변수가없는 이전 페이지로 돌아갑니다 사용자 이름으로) "_ - 왜 사용자가 매우 구체적으로 로그 아웃했을 때 이러한 값을 가져야합니까? – CBroe
당신이 원하는 것이 분명하지 않습니다. 세션을 삭제 한 후 사용자 이름을 계속 기억 하시겠습니까? 로그 아웃 할 때 MySQL 데이터베이스에 로그 아웃 시간 등을 기록한 다음 세션 쿠키를 삭제할뿐만 아니라 전체 세션을 설정 해제하고 파괴합니다. 세션 정보가 필요한 다른 페이지는 유효한 세션이없는 경우 오류 경고를 보내거나 일부 페이지로 리디렉션해야합니다. – Stefan
안녕 스테판! 위대한 도움 :) 나는 '웹 사이트/로그 아웃을 이미 종료했다'는 브라우저의 버튼을 클릭하고 싶은 경우 잘못된 페이지를 표시하고자하므로 모든 페이지에 세션이 필요합니다. 변하기 쉬운? –