게시판문의드립니다.

게시판문의드립니다.

QA

게시판문의드립니다.

답변 4

본문

이움빌더껀데 여기에 문의해도 될지모르겠네요...ㅠㅠ

게시글 보기에서 좋아요클릭하는 기능이있는데요 로그인해서 눌러지는데 비회원도 좋아요 누르기가능하게 하고싶은데 소스를 봐도 모르겠고 문의해봐도 답없어서 고수님들 도와주세욤~

 


        <?php /* 추천 비추천 시작 */?>
        <?php if ($good_href || $nogood_href) { ?>
        <div class="board-view-good-btn">
            <div class="m-b-10">
                <?php if ($good_href) { ?>
                <span class="board-view-act-gng">
                    <a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="act-gng-btn" type="button"><i class="far fa-thumbs-up display-block"></i><strong class="text-teal"><?php echo number_format($view['wr_good']); ?></strong><div class="mask"><h5>추천</h5></div></a>
                    <b id="bo_v_act_good"></b>
                </span>
                <?php } ?>
                <?php if ($nogood_href) { ?>
                <span class="board-view-act-gng">
                    <a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="act-gng-btn" type="button"><i class="far fa-thumbs-down display-block"></i><strong class="text-pink"><?php echo number_format($view['wr_nogood']); ?></strong><div class="mask"><h5>비추천</h5></div></a>
                    <b id="bo_v_act_nogood"></b>
                </span>
                <?php } ?>
            </div>
        </div>
        <?php } else {
            if($board['bo_use_good'] || $board['bo_use_nogood']) {
        ?>
        <div class="board-view-good-btn">
            <div class="m-b-10">
                <?php if ($board['bo_use_good']) { ?>
                <span class="board-view-act-gng">
                    <span class="act-gng-btn disabled"><i class="far fa-thumbs-up display-block"></i><strong class="text-teal"><?php echo number_format($view['wr_good']); ?></strong></span>
                </span>
                <?php } ?>
                <?php if ($board['bo_use_nogood']) { ?>
                <span class="board-view-act-gng">
                    <span class="act-gng-btn disabled"><i class="far fa-thumbs-down display-block"></i><strong class="text-pink"><?php echo number_format($view['wr_nogood']); ?></strong></span>
                </span>
                <?php } ?>
            </div>
        </div>
        <?php
            }
        }
        ?>
        <?php /* 추천 비추천 끝 */?>

    </div>

<!--  -->
            <div class="info-box-bottom" style="float:right;">
                <span><?php echo date("y-m-d H:i", strtotime($view['wr_datetime'])) ?></span>
                <span><i class="far fa-eye"></i><?php echo number_format($view['wr_hit']); ?></span>
                <span><i class="far fa-comment-dots"></i><strong class="text-deep-orange"><?php echo number_format($view['wr_comment']); ?></strong></span>
                <?php if ($is_good) { ?>
                <span><i class="far fa-thumbs-up"></i><strong class="text-teal"><?php echo number_format($view['wr_good']); ?></strong></span>
                <?php } ?>
                <?php if ($is_nogood ) { ?>
                <span><i class="far fa-thumbs-down"></i><strong class="text-pink"><?php echo number_format($view['wr_nogood']); ?></strong></span>
                <?php } ?>
            </div>
        </div>
    </div>
        <?php /* 본문 내용 끝 */?>

    <?php /* 댓글 시작 */?>
    <?php include_once(G5_BBS_PATH . '/view_comment.php'); ?>
    <?php /* 댓글 끝 */?>
</article>

<script>
<?php if ($board['bo_download_point'] < 0) { ?>
$(function() {
    $("a.view_file_download").click(function() {
        if(!g5_is_member) {
            alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
            return false;
        }

        var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";

        if(confirm(msg)) {
            var href = $(this).attr("href")+"&js=on";
            $(this).attr("href", href);

            return true;
        } else {
            return false;
        }
    });
});
<?php } ?>

function board_move(href)
{
    window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
}
</script>

<script>
$(function() {
    $("a.view_image").click(function() {
        window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
        return false;
    });

    // 추천, 비추천
    $("#good_button, #nogood_button").click(function() {
        var $tx;
        if(this.id == "good_button")
            $tx = $("#bo_v_act_good");
        else
            $tx = $("#bo_v_act_nogood");

        excute_good(this.href, $(this), $tx);
        return false;
    });

    // 이미지 리사이즈
    $("#bo_v_atc").viewimageresize();
});

function excute_good(href, $el, $tx)
{
    $.post(
        href,
        { js: "on" },
        function(data) {
            if(data.error) {
                alert(data.error);
                return false;
            }

            if(data.count) {
                $el.find("strong").text(number_format(String(data.count)));
                if($tx.attr("id").search("nogood") > -1) {
                    $tx.text("이 글을 비추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                } else {
                    $tx.text("이 글을 추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                }
            }
        }, "json"
    );
}
</script>

이 질문에 댓글 쓰기 :

답변 4

위 코드에서 수정하는 것이 아니라 view.php에서 

 $good_href / $nogood_href 링크를 회원만 가능하게 되어있는 것을 수정해야 합니다

이것을 수정해도 good.php에서 비회원은 처리 안되게한 부분을 수정해야 하고

아이디 대신 비회원은 아이피를 등록하든지 무언가 구분자를 넣어야 계속해서 누르는 것을

막을 수 있습니다

 

스크립트 부분을 다음과 같이 수정하시면 되지 않을까 합니다.


$(function() {
    $("a.view_image").click(function() {
        window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
        return false;
    });
    // 추천, 비추천
    $("#good_button, #nogood_button").click(function() {
        var $tx;
        if(this.id == "good_button")
            $tx = $("#bo_v_act_good");
        else
            $tx = $("#bo_v_act_nogood");
        excute_good(this.href, $(this), $tx);
        return false;
    });
    // 비회원도 좋아요 버튼을 클릭할 수 있도록 함
    $(".act-gng-btn").click(function() {
        var href = $(this).attr("href") + '&js=on';
        $(this).attr("href", href);
        // 좋아요 버튼 클릭을 처리하는 기존 함수 호출
        var $tx;
        if(this.id == "good_button")
            $tx = $("#bo_v_act_good");
        else
            $tx = $("#bo_v_act_nogood");
        excute_good(href, $(this), $tx);
        return false;
    });
    // 이미지 리사이즈
    $("#bo_v_atc").viewimageresize();
});
function excute_good(href, $el, $tx) {
    $.post(
        href,
        { js: "on" },
        function(data) {
            if(data.error) {
                alert(data.error);
                return false;
            }
            if(data.count) {
                $el.find("strong").text(number_format(String(data.count)));
                if($tx.attr("id").search("nogood") > -1) {
                    $tx.text("이 글을 비추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                } else {
                    $tx.text("이 글을 추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                }
            }
        }, "json"
    );
}

다음과 같이 해보시겠어요


$(function() {
    $("a.view_image").click(function() {
        window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
        return false;
    });

    // 추천, 비추천
    $("#good_button, #nogood_button").click(function() {
        var $tx;
        if (this.id == "good_button")
            $tx = $("#bo_v_act_good");
        else
            $tx = $("#bo_v_act_nogood");

        excute_good(this.href, $(this), $tx);
        return false;
    });

    // 비회원도 좋아요 버튼을 클릭할 수 있도록 함
    $(".act-gng-btn").click(function() {
        var href = $(this).attr("href") + '&js=on';
        $(this).attr("href", href);

        // 좋아요 버튼 클릭을 처리하는 기존 함수 호출
        var $tx;
        if (this.id == "good_button")
            $tx = $("#bo_v_act_good");
        else
            $tx = $("#bo_v_act_nogood");

        excute_good(href, $(this), $tx);
        return false;
    });

    // 이미지 리사이즈
    $("#bo_v_atc").viewimageresize();
});

function excute_good(href, $el, $tx) {
    $.post(
        href,
        { js: "on" },
        function(data) {
            if (data.error) {
                alert(data.error);
                return false;
            }

            if (data.count !== undefined) {
                $el.find("strong").text(number_format(String(data.count)));
                if ($tx.attr("id").search("nogood") > -1) {
                    $tx.text("이 글을 비추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                } else {
                    $tx.text("이 글을 추천하셨습니다.");
                    $tx.fadeIn(200).delay(2500).fadeOut(200);
                }
            }
        }, "json"
    );
}

이것두 안됩니다.... 감사합니다

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