기본 레이어 팝업오류 문제?

기본 레이어 팝업오류 문제?

QA

기본 레이어 팝업오류 문제?

본문

안녕하세요?

기존 레이어 팝업 소스에서 

24시간동안 팝업 안뜨기 클릭해도 새로고침하면

다시 뜨는데 어느 부분을 수정해야 오늘하루 안보기가 될까여??

 

 

<?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

 

if (!defined('_INDEX_')) {

    $pop_division = 'comm';

} else {

    $pop_division = 'shop';

}

 

$sql = " select * from {$g5['new_win_table']}

          where '".G5_TIME_YMDHIS."' between nw_begin_time and nw_end_time

            and nw_device IN ( 'both', 'pc' ) and nw_division IN ( 'both', '".$pop_division."' )

          order by nw_id asc ";

$result = sql_query($sql, false);

?>

 

<!-- 팝업레이어 시작 { -->

<div id="hd_pop">

    <h2>팝업레이어 알림</h2>

 

<?php

for ($i=0; $nw=sql_fetch_array($result); $i++)

{

    // 이미 체크 되었다면 Continue

    if (isset($_COOKIE["hd_pops_{$nw['nw_id']}"]) && $_COOKIE["hd_pops_{$nw['nw_id']}"])

        continue;

?>

 

    <div id="hd_pops_<?php echo $nw['nw_id'] ?>" class="hd_pops" style="top:<?php echo $nw['nw_top']?>px;left:<?php echo $nw['nw_left']?>px">

        <div class="hd_pops_con" style="width:<?php echo $nw['nw_width'] ?>px;height:<?php echo $nw['nw_height'] ?>px">

            <?php echo conv_content($nw['nw_content'], 1); ?>

        </div>

        <div class="hd_pops_footer">

            <button class="hd_pops_reject hd_pops_<?php echo $nw['nw_id']; ?> <?php echo $nw['nw_disable_hours']; ?>"><strong style="color:#fff;"><?php echo $nw['nw_disable_hours']; ?></strong>시간 동안 다시 열람하지 않습니다.</button>

            <button class="hd_pops_close hd_pops_<?php echo $nw['nw_id']; ?>">닫기 <i class="fa fa-times" aria-hidden="true"></i></button>

        </div>

    </div>

<?php }

if ($i == 0) echo '<span class="sound_only">팝업레이어 알림이 없습니다.</span>';

?>

</div>

 

<script>

$(function() {

    $(".hd_pops_reject").click(function() {

        var id = $(this).attr('class').split(' ');

        var ck_name = id[1];

        var exp_time = parseInt(id[2]);

        $("#"+id[1]).css("display", "none");

        set_cookie(ck_name, 1, exp_time, g5_cookie_domain);

    });

    $('.hd_pops_close').click(function() {

        var idb = $(this).attr('class').split(' ');

        $('#'+idb[1]).css('display','none');

    });

    $("#hd").css("z-index", 1000);

});

</script>

<!-- } 팝업레이어 끝 -->

이 질문에 댓글 쓰기 :

답변 2

이렇게 소스를 봐서는 확인할수 있는 부분이 없을것 같네요. 

직접 사이트에 print_r 로 cookie 값을 찍어보면서 제대로 쿠키가 생성되고 있는지 확인해 보셔야 할것 같습니다. 결국 24시간동안 팝업 안뜨기의 원리는 쿠키를 생성해서 해당 값이 있으면 레이어 팝업을 띄우지 않는것이니까요. 그 값이 제대로 생성되고 있는지 부터 먼저 확인해 보셔야 할것 같습니다. 

기존 소스는 문제가 없는 소스입니다.

 

최근 추가/수정한 자바 스크립트가 있다면,

자바 스크립트 오류가 생겨서 영향을 준 것은 아닌지 체크해 보아야 할 듯 합니다.

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

회원로그인

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