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

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

QA

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

본문

안녕하세요

 

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

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

 

정리하자면 이렇습니다.

 

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

 

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

 

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

 

1f3f5c9cce213dd8a512b1e7311bedf4_1709554966_4328.png
 

 

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

 

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

 

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

 

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

 

긴글 죄송합니다

 

list.skin.php 코드


<form name="flistwrite" id="flistwrite" action="<?php echo https_url(G5_BBS_DIR)."/write_update.php"; ?>" method="post" onsubmit="return flistwrite_submit(this);">
        <input type="hidden" name="w" value="">
        <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
        <input type="hidden" name="date" value="<?php echo $date; ?>">
        <input type="hidden" name="is_list" value="1">
        <input type="hidden" name="wr_subject" id="wr_subject" <?php echo $wr_disabled; ?> required value="<?php echo $member['mb_nick']; ?>님의 출석체크">
        <input type="hidden" name="wr_link1" value="">
 
<button type="submit" class="btn btn-primary d-block w-100 h-100" id="list_write_submit" <?php echo $wr_disabled; ?> accesskey="s">출석</button>

 

list.skin.php 스크립트 코드


function flistwrite_submit(f)
{
    // 양쪽 공백 없애기
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
    f.wr_content.value = f.wr_content.value.replace(pattern, "");
    if (!f.wr_content.value)
    {
        alert("출석체크를 입력하여 주십시오.");
        return false;
    }
 
    var subject = "";
    var content = "";
    $.ajax({
        url: g5_bbs_url+"/ajax.filter.php",
        type: "POST",
        data: {
            "subject": f.wr_subject.value,
            "content": f.wr_content.value
        },
        dataType: "json",
        async: false,
        cache: false,
        success: function(data, textStatus) {
            subject = data.subject;
            content = data.content;
        }
    });
 
    if (subject) {
        alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
        f.wr_subject.focus();
        return false;
    }
 
    if (content) {
        alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
        if (typeof(ed_wr_content) != "undefined")
            ed_wr_content.returnFalse();
        else
            f.wr_content.focus();
        return false;
    }
 
    if (typeof(f.bo_table) == "undefined") {
        return;
    }
    var bo_table = f.bo_table.value;
    var token = get_write_token(bo_table);
    var $f = $(f);
    if(typeof f.token === "undefined")
        $f.prepend('<input type="hidden" name="token" value="">');
    $f.find("input[name=token]").val(token);
 
    document.getElementById("list_write_submit").disabled = "disabled";
    return true;
}

 

 

write.skin.php 코드


<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; ?>">
    <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">
    <input type="hidden" name="w" value="<?php echo $w ?>">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
    <input type="hidden" name="stx" value="<?php echo $stx ?>">
    <input type="hidden" name="spt" value="<?php echo $spt ?>">
    <input type="hidden" name="sst" value="<?php echo $sst ?>">
    <input type="hidden" name="sod" value="<?php echo $sod ?>">
    <input type="hidden" name="page" value="<?php echo $page ?>">
    <input type="hidden" name="date" value="<?php echo $date ?>">
 
    <div class="btn_confirm write_div">
        <a href="<?php echo get_pretty_url($bo_table); ?>" class="btn_cancel btn">취소</a>
        <button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button>
    </div>

 

write.skin.php 스크립트코드 


function fwrite_submit(f)
    {
        <?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함   ?>
 
        var subject = "";
        var content = "";
        $.ajax({
            url: g5_bbs_url+"/ajax.filter.php",
            type: "POST",
            data: {
                "subject": f.wr_subject.value,
                "content": f.wr_content.value
            },
            dataType: "json",
            async: false,
            cache: false,
            success: function(data, textStatus) {
                subject = data.subject;
                content = data.content;
            }
        });
 
        if (subject) {
            alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
            f.wr_subject.focus();
            return false;
        }
 
        if (content) {
            alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
            if (typeof(ed_wr_content) != "undefined")
                ed_wr_content.returnFalse();
            else
                f.wr_content.focus();
            return false;
        }
 
        if (document.getElementById("char_count")) {
            if (char_min > 0 || char_max > 0) {
                var cnt = parseInt(check_byte("wr_content", "char_count"));
                if (char_min > 0 && char_min > cnt) {
                    alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
                    return false;
                }
                else if (char_max > 0 && char_max < cnt) {
                    alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
                    return false;
                }
            }
        }
 
        <?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함  ?>
 
        document.getElementById("btn_submit").disabled = "disabled";
 
        return true;
    }

이 질문에 댓글 쓰기 :

답변 2

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

 

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

아 무슨말인지 이해했습니다

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

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 14,981
QA 내용 검색
filter #php ×

회원로그인

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