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개

쪽지로 주소와 테스트계정 보내드릴게요! ㅎㅎ
/bbs/logout.php 소스를 변경하신 적이 있나요?

session_unset();
session_destroy();
//이후에
print_R( $_SESSION);
exit;
//하셔서 세션이 지워지는지 확인해 보세요.


아니면 /data/session 폴더에 문제(퍼미션, 하드 공간 부족 등)가 있는지 살펴 보세요.
알려주신 코드 적용해보니까
세션은 삭제되는거 같아요

결과창으로
Array ( ) 이렇게 나왔습니다!
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]
자동 로그인 설정이 되어 있고, 쿠키가 남아 있다면,
가능한 상황입니다.

session_destroy(); // 이후에
session_regenerate_id(); // 이것도 한번 추가해 보세요.

https://www.php.net/manual/en/function.session-regenerate-id.php
알려주신 코드 session_regenerate_id(); 이거 추가해보았는데 문제가 해결되지는 않네요 ㅠㅠ

여러 방법 알려주셔서 감사합니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고