index에서 로그아웃이 1번만 돼요 ㅠ 채택완료
안녕하세요
index에서 로그인 창을 아웃로그인처럼 구현해봤는데
로그인후 1번은 로그아웃이 되는데 다시 접속해서 로그아웃을 누르면 로그아웃이 되지 않아요 ㅠㅠ
로그인 에 사용된 코드가 잘못된건지 logout.php안에서 쿠키가 제걱 안되는건지 잘 모르겠어서 이렇게 글 적어봅니다 ㅠㅠ
일단 로그인에 사용된 코드는 같이 첨부하겠습니다.
고수분들의 많은 도움 부탁드립니다!
(P.S. 페이지 링크나 다른 부분 코드 댓글달아주시면 찾아서 바로 대댓으로 보내드릴게요! 부탁드립니다 ㅠㅠ)
Copy
<div class="mainLoginArea">
<?
if (isset($member['mb_id'])){
switch ($member['mb_level']) {
case '1':
$member_level = '비회원';
break;
case '2': case '3': case '4': case '5': case '6': case '7': case '8':
$member_level = '일반회원';
break;
case '9': case '10':
$member_level = '관리자';
break;
default:
$member_level = '비회원';
break;
}
if($member['mb_id']=='admin')
{
$adm_btn = '
<a href = "http://www.withsdoctors.com/bbs/adm/admin/regist_list.php" target="_blank"><span>관리자 페이지</span></a>
';
}
echo '
<div class="mainLoginBox login_mainLoginBox">
<ul>
<li class="login_info login_f_style01 login_info_two">
<p>'.$member['mb_name'].' 님</p>
'.$adm_btn.'
</li>
<li class="login_info login_f_style02 login_info_two">
<p>'.$member_level.'</p>
<a href = "/sub/mypage.php">회원정보수정</a>
</li>
<li class="login_info login_f_style03">'.$member['mb_email'].'</li>
<div class="login_btn_style">
<a href="/bbs/bbs/logout.php">로그아웃</a>
</div>
</ul>
</div>
';
}else{ // 로그인 전이라면
echo '
<div class="mainLoginBox">
<form class = "mainLoginForm" name="fhead" method="post" action = "../bbs/bbs/login_check.php" onsubmit="return fhead_submit(this);" autocomplete="off" >
<input type="hidden" name="url" value="<?=$outlogin_url?>">
<ul>
<li>
<input class="mainLoginBoxDetail" type = "text" name="mb_id" type="text" required itemname="아이디" placeholder="아이디" tabindex=1>
</li>
<li>
<input class="mainLoginBoxDetail" type = "password" name = "mb_password" required itemname="패스워드" placeholder="비밀번호" tabindex=2>
</li>
<button type = "submit" name = "login_btn" class= "mainLoginTextBtn">로그인</button>
</ul>
</form>
<div class = "mainLoginJoinAndFindButton">
<a class="mainLoginJoinBtn" href="/sub/join_step1.php">
<img src="/img/mainLoginJoin.png" alt="회원가입">
</a>
</div>
</div>
';
}
?>
답변 1개
채택된 답변
+20 포인트
답변에 대한 댓글 6개
3년 전
/bbs/logout.php 소스를 변경하신 적이 있나요?
session_unset();
session_destroy();
//이후에
print_R( $_SESSION);
exit;
//하셔서 세션이 지워지는지 확인해 보세요.
아니면 /data/session 폴더에 문제(퍼미션, 하드 공간 부족 등)가 있는지 살펴 보세요.
session_unset();
session_destroy();
//이후에
print_R( $_SESSION);
exit;
//하셔서 세션이 지워지는지 확인해 보세요.
아니면 /data/session 폴더에 문제(퍼미션, 하드 공간 부족 등)가 있는지 살펴 보세요.
3년 전
logout.php파일을 열어봤는데 session이 아니고 cookie를 해제하는 코드도 있더라구요 혹시 이거때문일까요??
[code]
// 자동로그인 해제 --------------------------------
set_cookie("ck_mb_id", "", 0);
set_cookie("ck_mb_type", "", 0);
set_cookie("ck_mb_no", "", 0);
set_cookie("ck_auto", "", 0);
// 자동로그인 해제 end --------------------------------
[/code]
[code]
// 자동로그인 해제 --------------------------------
set_cookie("ck_mb_id", "", 0);
set_cookie("ck_mb_type", "", 0);
set_cookie("ck_mb_no", "", 0);
set_cookie("ck_auto", "", 0);
// 자동로그인 해제 end --------------------------------
[/code]
3년 전
자동 로그인 설정이 되어 있고, 쿠키가 남아 있다면,
가능한 상황입니다.
session_destroy(); // 이후에
session_regenerate_id(); // 이것도 한번 추가해 보세요.
https://www.php.net/manual/en/function.session-regenerate-id.php
가능한 상황입니다.
session_destroy(); // 이후에
session_regenerate_id(); // 이것도 한번 추가해 보세요.
https://www.php.net/manual/en/function.session-regenerate-id.php
3년 전
알려주신 코드 session_regenerate_id(); 이거 추가해보았는데 문제가 해결되지는 않네요 ㅠㅠ
여러 방법 알려주셔서 감사합니다 ㅠㅠ
여러 방법 알려주셔서 감사합니다 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인