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

고수님들 도와주세요 알람기능때매 이틀째 ㅠㅠ 채택완료

그누최공 1년 전 조회 1,500

안녕하세요

 

나리야 출석 보드를 적용해서 출석보드로 의뢰게시판으로 변형을해서 쓰고있는데 이런저런 코드 바꿔가며 대충 마무리되었는데

알람부분에서 막혀 서 혹시 조언좀 받을수있을까 해서 질문드드려봅니다.

 

정리하자면 이렇습니다.

 

출석부 보드라 리스트에서 글쓰기 버튼이 원래 없습니다. 

 

그래서 리스트 목록에서 바로 글을 작성할수있게 출석하기 버튼을 변형해서 바로 글을쓸수있도록 변형했구요

 

알람도 받을수있게 밑 이미지처럼 알람도 받을수있게 마무리 했습니다

 

1f3f5c9cce213dd8a512b1e7311bedf4_1709554966_4328.pnghttps://amina.co.kr/data/editor/2403/1f3f5c9cce213dd8a512b1e7311bedf4_1709554966_4328.png" title="1f3f5c9cce213dd8a512b1e7311bedf4_1709554966_4328.png" />
 

 

여기서 문제는 list 페이지에서 (출석하기버튼으로 변형한 버튼) 으로 작성을하면 알람에 안뜨는문제입니다.

 

글작성 버튼을 생성해서 write.skin.php 페이지에서 글을 작성하면 알림에 정상적으로 표시가 됩니다.

 

submit 할때 문제인거같은데 혹시 방법이있을까요.

 

이틀째 검색해보고 도저히 방법을 찾을수가 없어서 문의먼저 해보고 조언좀 구하고싶습니다ㅜㅜ

 

긴글 죄송합니다

 

list.skin.php 코드

</strong></p>

<p><form name="flistwrite" id="flistwrite" action="<?php echo https_url(G5_BBS_DIR)."/write_update.php"; ?>" method="post" onsubmit="return flistwrite_submit(this);"></p>

<p>        <input type="hidden" name="w" value=""></p>

<p>        <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>

<p>        <input type="hidden" name="date" value="<?php echo $date; ?>"></p>

<p>        <input type="hidden" name="is_list" value="1"></p>

<p>        <input type="hidden" name="wr_subject" id="wr_subject" <?php echo $wr_disabled; ?> required value="<?php echo $member['mb_nick']; ?>님의 출석체크"></p>

<p>        <input type="hidden" name="wr_link1" value=""></p>

<p> </p>

<p><button type="submit" class="btn btn-primary d-block w-100 h-100" id="list_write_submit" <?php echo $wr_disabled; ?> accesskey="s">출석</button></p>

<p><strong>

 

list.skin.php 스크립트 코드

</strong></p>

<p>function flistwrite_submit(f)</p>

<p>{</p>

<p>    // 양쪽 공백 없애기</p>

<p>    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자</p>

<p>    f.wr_content.value = f.wr_content.value.replace(pattern, "");</p>

<p>    if (!f.wr_content.value)</p>

<p>    {</p>

<p>        alert("출석체크를 입력하여 주십시오.");</p>

<p>        return false;</p>

<p>    }</p>

<p> </p>

<p>    var subject = "";</p>

<p>    var content = "";</p>

<p>    $.ajax({</p>

<p>        url: g5_bbs_url+"/ajax.filter.php",</p>

<p>        type: "POST",</p>

<p>        data: {</p>

<p>            "subject": f.wr_subject.value,</p>

<p>            "content": f.wr_content.value</p>

<p>        },</p>

<p>        dataType: "json",</p>

<p>        async: false,</p>

<p>        cache: false,</p>

<p>        success: function(data, textStatus) {</p>

<p>            subject = data.subject;</p>

<p>            content = data.content;</p>

<p>        }</p>

<p>    });</p>

<p> </p>

<p>    if (subject) {</p>

<p>        alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");</p>

<p>        f.wr_subject.focus();</p>

<p>        return false;</p>

<p>    }</p>

<p> </p>

<p>    if (content) {</p>

<p>        alert("내용에 금지단어('"+content+"')가 포함되어있습니다");</p>

<p>        if (typeof(ed_wr_content) != "undefined")</p>

<p>            ed_wr_content.returnFalse();</p>

<p>        else</p>

<p>            f.wr_content.focus();</p>

<p>        return false;</p>

<p>    }</p>

<p> </p>

<p>    if (typeof(f.bo_table) == "undefined") {</p>

<p>        return;</p>

<p>    }</p>

<p>    var bo_table = f.bo_table.value;</p>

<p>    var token = get_write_token(bo_table);</p>

<p>    var $f = $(f);</p>

<p>    if(typeof f.token === "undefined")</p>

<p>        $f.prepend('<input type="hidden" name="token" value="">');</p>

<p>    $f.find("input[name=token]").val(token);</p>

<p> </p>

<p>    document.getElementById("list_write_submit").disabled = "disabled";</p>

<p>    return true;</p>

<p>}</p>

<p><strong>

 

 

write.skin.php 코드

</strong></p>

<p><form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>"></p>

<p>    <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>"></p>

<p>    <input type="hidden" name="w" value="<?php echo $w ?>"></p>

<p>    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>

<p>    <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>"></p>

<p>    <input type="hidden" name="sca" value="<?php echo $sca ?>"></p>

<p>    <input type="hidden" name="sfl" value="<?php echo $sfl ?>"></p>

<p>    <input type="hidden" name="stx" value="<?php echo $stx ?>"></p>

<p>    <input type="hidden" name="spt" value="<?php echo $spt ?>"></p>

<p>    <input type="hidden" name="sst" value="<?php echo $sst ?>"></p>

<p>    <input type="hidden" name="sod" value="<?php echo $sod ?>"></p>

<p>    <input type="hidden" name="page" value="<?php echo $page ?>"></p>

<p>    <input type="hidden" name="date" value="<?php echo $date ?>"></p>

<p> </p>

<p>    <div class="btn_confirm write_div"></p>

<p>        <a href="<?php echo get_pretty_url($bo_table); ?>" class="btn_cancel btn">취소</a></p>

<p>        <button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button></p>

<p>    </div></p>

<p><strong>

 

write.skin.php 스크립트코드 

</strong></p>

<p>function fwrite_submit(f)</p>

<p>    {</p>

<p>        <?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함   ?></p>

<p> </p>

<p>        var subject = "";</p>

<p>        var content = "";</p>

<p>        $.ajax({</p>

<p>            url: g5_bbs_url+"/ajax.filter.php",</p>

<p>            type: "POST",</p>

<p>            data: {</p>

<p>                "subject": f.wr_subject.value,</p>

<p>                "content": f.wr_content.value</p>

<p>            },</p>

<p>            dataType: "json",</p>

<p>            async: false,</p>

<p>            cache: false,</p>

<p>            success: function(data, textStatus) {</p>

<p>                subject = data.subject;</p>

<p>                content = data.content;</p>

<p>            }</p>

<p>        });</p>

<p> </p>

<p>        if (subject) {</p>

<p>            alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");</p>

<p>            f.wr_subject.focus();</p>

<p>            return false;</p>

<p>        }</p>

<p> </p>

<p>        if (content) {</p>

<p>            alert("내용에 금지단어('"+content+"')가 포함되어있습니다");</p>

<p>            if (typeof(ed_wr_content) != "undefined")</p>

<p>                ed_wr_content.returnFalse();</p>

<p>            else</p>

<p>                f.wr_content.focus();</p>

<p>            return false;</p>

<p>        }</p>

<p> </p>

<p>        if (document.getElementById("char_count")) {</p>

<p>            if (char_min > 0 || char_max > 0) {</p>

<p>                var cnt = parseInt(check_byte("wr_content", "char_count"));</p>

<p>                if (char_min > 0 && char_min > cnt) {</p>

<p>                    alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");</p>

<p>                    return false;</p>

<p>                }</p>

<p>                else if (char_max > 0 && char_max < cnt) {</p>

<p>                    alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");</p>

<p>                    return false;</p>

<p>                }</p>

<p>            }</p>

<p>        }</p>

<p> </p>

<p>        <?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함  ?></p>

<p> </p>

<p>        document.getElementById("btn_submit").disabled = "disabled";</p>

<p> </p>

<p>        return true;</p>

<p>    }</p>

<p><strong>

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

답변 2개

채택된 답변
+20 포인트
웅푸
1년 전

작성과 뷰만 필요하시면 리스트페이지에서 개발하지마시구요 쓰기페이지에서 다시하세요

 

목록페이지는 그냥 리스트안시키면됩니다. . 쓰기페이는 또한 권한을 풀면되는거구요

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

답변에 대한 댓글 1개

그누최공
1년 전
아 무슨말인지 이해했습니다

list 에서는 보안상 알림이 안오게 되어있어서

write 페이지에서 리스트 목록 하단에 추출하고 글작성해도 write에 그대로 있는 방식으로 해야되는거 맞나요?

쓰기 페이지를 활용하면 되는거네요

감사합니다 다시 하려니 머리는 아프지만 어쩔수없겠네요

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

알림 안뜨는게 데이터가 등록이 안되서 그런거 아닌가요?

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

답변에 대한 댓글 2개

웅프
1년 전
아니요 게시글 등록시 리스트에서 실행하면 안떠요 보안상 안뜨게 되어잇어요
그누최공
1년 전
write 페이지에서 작성된 글은 알림이 떠요

list에서 바로 등록할수 있는폼을 만들어서 등록하면 안뜨구요

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

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

로그인