set_cookie가 안먹히는것 같습니다.

set_cookie가 안먹히는것 같습니다.

QA

set_cookie가 안먹히는것 같습니다.

본문

그누보드5 입니다.


웹서핑해서 펼침메뉴를 구했는데 이 메뉴를 닫으면 쿠키저장이 되서 다음에 접속하면 닫힌상태가 되어야 됩니다.  그게 잘 안되네요. 뭐가 더 필요한지 좀 봐주세요..

<script>
function showTopMenu()
{
$('#topSubmenu').toggle();
$('#mclose').toggleClass('bt_mopen');

if($('#topSubmenu').css('display') == "none")
{
set_cookie('topsubmenu','close', 86400 * 31);
}
else
{
set_cookie('topsubmenu','open', 86400 * 31);

}
}
</script>

<ul id="topSubmenu" class="submn"  style="display:<?php if (get_cookie("topsubmenu")=="close"){ echo "none";}?>">
메뉴내용 (중략)
</ul>
<p class="tmbtn"><a href="javascript_:showTopMenu()" class="<?php if (get_cookie("topsubmenu")=="close"){ echo "bt_mopen"; } else { echo "bt_mclose";}?>" id=mclose><span>메뉴숨기기</span></a></p>      

쿠키가 안굽히는것 같습니다...

이 질문에 댓글 쓰기 :

답변 2

common.js 파일과 common.lib.php 파일의 get_cookie 함수의 코드를 비교해보시면

아시겠지만 common.js 파일에서는 쿠키의 이름을 입력받은 그대로 저장하는 반면

common.lib.php 파일의 get_cookie 함수는 md5를 이용해 이름을 암호화합니다.

 

따라서 자바스크립트에서 get_cookie를 이용해 쿠키를 생성했다면 php 의 get_cookie 함수 대신

$_COOKIE 를 사용해야 합니다. get_cookie("topsubmenu​") 를 $_COOKIE['topsubmenu​'] 로

수정해야합니다.

 

<script language="JavaScript">

<!--

cookiedata = document.cookie; 

if ( cookiedata.indexOf("ncookie=done") < 0 ){ 

document.getElementById('topsubmenu').style.display = "block";

} else {

document.getElementById('topsubmenu').style.display = "none"; 

}

-->

</script> 

 

팝업에 사용하던건데 이거 한번 적용해보세요 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 21
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT