테스트 사이트 - 개발 중인 베타 버전입니다

댓글 수정모드에서만 보이게 가능한가요? 채택완료

카산 9개월 전 조회 2,065

댓글에 파일첨부가능하게 했는데요~~첨부파일삭제 체크하고 저장하면 댓글에 첨부된 것이 모두 삭제되게 하고자하거든요~~~ 그런데 아래 코드를 댓글수정상태에서만 노출시키고자해요~~

</p>

<p><span class="file_del chk_box"></p>

<p>    <input type="checkbox" name="del_file" value="y" id="del_file" class="selec_chk"></p>

<p>    <label for="del_file"><span></span>첨부파일 삭제</label></p>

<p></span></p>

<p>

위처럼 하면 항상 첨부파일 삭제폼이 보이고 

아래처럼 했더니 첨부파일 삭제폼이 아주 안보이네요~~

</p>

<p> <?php if ($w == 'cu') { ?></p>

<p><span class="file_del chk_box"></p>

<p>    <input type="checkbox" name="del_file" value="y" id="del_file" class="selec_chk"></p>

<p>    <label for="del_file"><span></span>첨부파일 삭제</label></p>

<p></span></p>

<p><?php } ?>~~~~~~~~~~~~~~</p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

카산
9개월 전
https://sir.kr/bbs/profile.php?mb_id=humanpc" onclick="return false;" rel="nofollow" target="_blank" title="glitter0gim 자기소개">glitter0gim 님~`상세한 답변 감사합니다~ 그런데 댓글 수정모드에서는 댓글작성자이름이 가져와 지지 않고요~위 처럼해서 가져와 져도 수정버튼을 클릭하면 textarea 에 댓글이 삽입되구조라  저장버튼 옆의 선택폼이 항상표시되요~~그래서 자바스크립트로 했어요~~~~~~~~~~~~~~~<script>
        $(document).ready(function() {
            // 수정버튼 클릭 이벤트
            $(".bo_vc_act li a").on("click", function(){
                if ($(this).text() == "수정") {
                    // 첨부파일 삭제 체크박스 출력
                    $("#del_file_div").show();
                } else {
                    // 첨부파일 삭제 체크박스 숨기기
                    $("#del_file_div").hide();
                }
            });
        });
    </script>~~~~~~하고~~~~~~~~~<span id="del_file_div" style="display: none;">
                <span class="file_del chk_box">
                    <input type="checkbox" name="del_file" value="y" id="del_file" class="selec_chk">
                    <label for="del_file" style="font-size:0.9rem"><span></span>첨부파일 삭제</label>
                </span>
            </span> 해서 해결했어요~~~~~~
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

glitter0gim
9개월 전

댓글 수정 상태에서만 "첨부파일 삭제" 폼을 표시하려면,

$w 변수를 활용하여 수정 모드인지 확인.

$w 값이 제대로 설정되어 있는지 디버깅하여 확인 후,

bbs/write_comment_update.php 파일에서 조건부로 HTML 코드를 출력하면 됩니다.

$w가 'cu'인 경우에만 폼을 렌더링하고, 그렇지 않으면

아무 것도 출력하지 않도록 설정하십시오.

 

*AI로 처리한 구체적 예시 (최신 그누 순정, bbs/write_comment_update.php 기준)

</p>

<p><?php

// 댓글 수정 상태인지 확인

if (isset($w) && $w === 'cu') { 

?>

<span class="file_del chk_box">

    <input type="checkbox" name="del_file" value="y" id="del_file" class="selec_chk">

    <label for="del_file"><span></span>첨부파일 삭제</label>

</span>

<?php

} else {

    // 다른 상태에서는 아무 내용도 출력하지 않음

}

?></p>

<p>

*$w 값이 제대로 설정되어 있는지 확인.

  예를 들어, var_dump($w);를 삽입해 서버 로그에서 확인.

*write_comment_update.php에서

  $w 변수가 댓글 수정 상태에서 'cu'로 정확히 설정되는지 확인.

*필요 시, $w 변수의 값을 전역적으로 추적하여

  댓글 작성, 수정 상태를 구분하는 로직을 검증.

 

AI로 점검한 결과입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

카산
9개월 전
구체적인 답변 감사합니다~~
그런데 bbs/write_comment_update.php 파일에서 조건부로 HTML 코드를 출력하면 됩니다.

$w가 'cu'인 경우에만 폼을 렌더링하고, 그렇지 않으면
아무 것도 출력하지 않도록 설정하십시오. 가 무슨 뜻인지 모르겠습니다~~

그누기본스킨의 댓글 쓰기 부분에서 <?php echo $w ;?> 하면 c 가 찍히더라구요~~당연히 댓글쓰기니까~c 이구요~~ 그런데 수정버튼을 클릭하면 댓글작성 폼에 기존댓글만 표시되는 건지-~$w = cu 로 찍히질 않아요~~위 예시처럼하면 $w = c 이므로 출력이 안되요~~~혹시 수정모드에서 댓글작성자 출력코드가 있나요~댓글작성자만 보이게 하면 될듯한데~~그도 안되네요~
g
glitter0gim
9개월 전
$w = 'c'는 댓글 작성 상태를 의미
$w = 'cu'는 댓글 수정 상태를 의미

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인