로그인 후 뒤로가기했을시 로그인화면안보이게 하려면..
본문
제목에 나온대루요
로그인 후에 뒤로가기 누르면 로그인화면이 나옵니다.
로그인화면에 $member값이 있는지 넣어봤떠니 안먹네요..
어떻게 해야할까요?
업체에선 로그인이 풀린다고 표현하거든요 딴곳도 아닌 로그인화면으로 안가게할순없나요?
답변 2
로그인이 풀려서 그런게 아니라 로그인페이지가 로그인후 뒤로가기 했을때 캐시된 내용이 출력되서 그럴겁니다.
head.sub.php 의 <head>태그 안에 (가급적 위쪽에) 아래처럼 해보세요
//login.php에서는 페이지 캐시 안하기
if(strtolower(basename($_SERVER['SCRIPT_NAME']))=='login.php') {
header('Pragma: no-cache'); // HTTP/1.0
header('Cache-Control: no-cache'); // HTTP/1.1
header('Expires: -1'); // rfc2616 - Section 14.21
echo '<meta http-equiv="Cache-Control" content="no-cache"/>'.PHP_EOL
.'<meta http-equiv="Expires" content="-1"/>'.PHP_EOL
.'<meta http-equiv="Pragma" content="no-cache"/>'.PHP_EOL
.'<meta http-equiv="Pragma" content="no-store"/>'.PHP_EOL;
}
이렇게 하면 로그인페이지로 뒤로가기 하더라도 로그인된 상태가 확인되어 저절로 메인페이지로 이동될겁니다.
다만 아웃로그인(본문페이지내의 로그인창)은 적용이 안될겁니다.
이렇게 했는데 아웃로그인등 다른곳에서 딴지를 건다면.. 글쓰기하다가 에러가 났을때 뒤로가기 해서 내용이 다 날라가도 상관이 없다면 login.php만이 아니라 if문을 제거하고 전체적용 해버리는 방법도 있겠습니다만 권장하는 방법은 아니겠네요.
!-->뒤로가기를 하면 로그인창이 그대로 나오는게 일반적으로 맞습니다.
뒤로가기했을때 로그인창이 안보이게 하실려면
로그인방식을 폼방식으로 바꾸세요.
일반적인 form에 submit으로 로그인하면 뒤로가기했을때
로그인페이지가 보이지않게됩니다
답변을 작성하시기 전에 로그인 해주세요.