index에서 로그아웃이 1번만 돼요 ㅠ

index에서 로그아웃이 1번만 돼요 ㅠ

QA

index에서 로그아웃이 1번만 돼요 ㅠ

답변 1

본문

안녕하세요 

 

index에서 로그인 창을 아웃로그인처럼 구현해봤는데 

로그인후 1번은 로그아웃이 되는데 다시 접속해서 로그아웃을 누르면 로그아웃이 되지 않아요 ㅠㅠ

 

로그인 에 사용된 코드가 잘못된건지 logout.php안에서 쿠키가 제걱 안되는건지 잘 모르겠어서 이렇게 글 적어봅니다 ㅠㅠ

 

일단 로그인에 사용된 코드는 같이 첨부하겠습니다.

 

고수분들의 많은 도움 부탁드립니다! 

 

(P.S. 페이지 링크나 다른 부분 코드 댓글달아주시면 찾아서 바로 대댓으로 보내드릴게요! 부탁드립니다 ㅠㅠ)

 


            <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

로그인 테스트 계정이 있을까요?

/bbs/logout.php 소스를 변경하신 적이 있나요?

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


아니면 /data/session 폴더에 문제(퍼미션, 하드 공간 부족 등)가 있는지 살펴 보세요.

logout.php파일을 열어봤는데 session이 아니고 cookie를 해제하는 코드도 있더라구요 혹시 이거때문일까요??



// 자동로그인 해제 --------------------------------
set_cookie("ck_mb_id", "", 0);
set_cookie("ck_mb_type", "", 0);
set_cookie("ck_mb_no", "", 0);
set_cookie("ck_auto", "", 0);
// 자동로그인 해제 end --------------------------------

자동 로그인 설정이 되어 있고, 쿠키가 남아 있다면,
가능한 상황입니다.

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

https://www.php.net/manual/en/function.session-regenerate-id.php

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 806
© SIRSOFT
현재 페이지 제일 처음으로