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

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

QA

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

답변 2

본문

안녕하세요?

기존 레이어 팝업 소스에서 

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시간동안 팝업 안뜨기의 원리는 쿠키를 생성해서 해당 값이 있으면 레이어 팝업을 띄우지 않는것이니까요. 그 값이 제대로 생성되고 있는지 부터 먼저 확인해 보셔야 할것 같습니다. 

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

 

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

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

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