ecu_kr -> utf_8 변경후 글쓰기안됨문제 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

ecu_kr -> utf_8 변경후 글쓰기안됨문제 정보

ecu_kr -> utf_8 변경후 글쓰기안됨문제

첨부파일

j_account4.zip (189.5K) 3회 다운로드 2010-10-27 11:33:26

본문

장돌뱅이님 가계부 스킨입니다.

utf-8로 변경을 하면 글쓰기를 눌럿을때 정상적인 처리가 안됩니다...

http://dyun.net/bbs/write.php?bo_table=lifemoney

문제의 주소입니다.

utf8, euc kr 모두 첨부합니다.
euc_kr은원본 소스이구 utf8은 변경후 입니다. 어디가 문제인지 모르겠습니다..
글쓰기 처리 자체가 안됩니다..ㅠ_ㅠ

글쓰기 스킨문제 일거라는 고돌스님의지적에 skin.write 코드 첨부합니다..ㅠㅠ


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<?  // ADD JSY
    // 수금일자|결재일자|최종수정일 처리필드(기존의 'wr_7' 여유필드를 확장)
    //[참고] 여유필드를 업데이트하기 위해서는 'write_update.skin.php' 를 사용함
    //$ext7_00   =  explode("|",$row[wr_7]);
    //$ext7_01   =  $ext7_00[0]; //구분(수입/지출)
    //$ext7_02   =  $ext7_00[1]; //공급가액
    //$ext7_03   =  $ext7_00[2]; //부가세
    //$ext7_04   =  $ext7_00[3]; //결재일자
    //$ext7_05   =  $ext7_00[4]; //최종수정
?>

<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>

<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null> 
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page     value="<?=$page?>">

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<colgroup width=100>
<colgroup width=''>
<tr><td colspan=2 height=2 bgcolor=#b0adf5></td></tr>
<tr><td style='padding-left:20px' colspan=2 height=38 bgcolor=#f8f8f9><strong><?=$title_msg?></strong></td></tr>

<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><input class=ed maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 패스워드</td>
    <td><input class=ed type=password maxlength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이메일</td>
    <td><input class=ed maxlength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 홈페이지</td>
    <td><input class=ed size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_notice || $is_html || $is_secret || $is_mail) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 옵션</td>
    <td><? if ($is_notice) { ?><input type=checkbox name=notice value="1" <?=$notice_checked?>>공지&nbsp;<? } ?>
        <? if ($is_html) { ?><input onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>html</span>&nbsp;<? } ?>
        <? if ($is_secret) { ?><input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>&nbsp;<? } ?>
        <? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기&nbsp;<? } ?></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<?  // JSY ADD
    $currentYear  = date('Y');
    $currentMonth = date('m');
    $currentDay   = date('d');
    $TODAY=date("Ymd",mktime(0,0,0,$currentMonth,$currentDay,$currentYear));
?>

<? // JSY ADD ?>
<TR>
    <TD style='padding-left:20px; height:30px;'>· 회계일</TD>
	<TD>
    <? if ($write[wr_1] == '') { ?>
        <INPUT type=text name='wr_1' value='<?=$TODAY?>' size='11' maxLength='08'> &nbsp;(영수증일자)&nbsp;&nbsp;&nbsp;&nbsp;
    <? } else { ?>
        <INPUT type=text name='wr_1' required itemname='일자' value='<?=$write[wr_1]?>' size='11' maxlength='08'> &nbsp;(영수증일자)&nbsp;&nbsp;&nbsp;&nbsp;
    <? } ?>
	&nbsp;&nbsp;&nbsp;&nbsp;· 고객명 &nbsp;&nbsp;<INPUT type=text name='wr_subject' required itemname='고객명' value='<?=$subject?>' size='50' maxLength='50'>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr
<TR>
    <TD style='padding-left:20px; height:30px;'>· 거래내역</TD>
    <TD>
        <INPUT type=text name='wr_2' required itemname='거래내역' value='<?=$write[wr_2]?>' size='100' maxLength='50'>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<TR>
    <TD style='padding-left:20px; height:30px;' valign='center'>· 거래형태</TD>
    <TD>
    <? if ($is_category) { ?>
        <select name=ca_name required itemname="분류">
            <option value="">분류<?=$category_option?></select>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;공급가액&nbsp;&nbsp;<INPUT type=text name='wr_3' required itemname='공급가액' value='<?=$write[wr_3]?>' size='12' maxLength='12'>
        &nbsp;&nbsp;&nbsp;&nbsp;부 가 세&nbsp;&nbsp;<INPUT type=text name='wr_4' required itemname='부가세' value='<?=$write[wr_4]?>' size='12' maxLength='12'>
        &nbsp;&nbsp;&nbsp;&nbsp;결 재 일&nbsp;&nbsp;<INPUT type=text name='wr_5' required itemname='결재일' value='<?=$write[wr_5]?>' size='11' maxLength='08'>
    <? } ?>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<TR>
    <TD style='padding-left:20px; height:30px;' valign='center'>· 영수증종류</TD>
	<TD>
    <? if ($write[wr_8] == '영수증') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=영수증 name=wr_8 checked><font color=blue>영수증</font>
    <? } else { ?>
        <INPUT type=radio value=영수증 name=wr_8>영수증
    <? } ?>
    <? if ($write[wr_8] == '계산서') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=계산서 name=wr_8 checked><font color=blue>계산서</font>
    <? } else { ?>
        <INPUT type=radio value=계산서 name=wr_8>계산서
    <? } ?>
    <? if ($write[wr_8] == '법인카드') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=법인카드 name=wr_8 checked><font color=blue>법인카드</font>
    <? } else { ?>
        <INPUT type=radio value=법인카드 name=wr_8>법인카드
    <? } ?>
    <? if ($write[wr_8] == '계좌이체') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=계좌이체 name=wr_8 checked><font color=blue>계좌이체</font>
    <? } else { ?>
        <INPUT type=radio value=계좌이체 name=wr_8>계좌이체
    <? } ?>
    <? if ($write[wr_8] == '수수료') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=수수료 name=wr_8 checked><font color=blue>수수료</font>
    <? } else { ?>
        <INPUT type=radio value=수수료 name=wr_8>수수료
    <? } ?>
    <? if ($write[wr_8] == '미영수증') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=미영수증 name=wr_8 checked><font color=blue>미영수증</font>
    <? } else { ?>
        <INPUT type=radio value=미영수증 name=wr_8>미영수증
    <? } ?>
	<? if ($write[wr_8] == '' || $write[wr_8] == '기타') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=기타 name=wr_8 checked><font color=blue>기타</font>
	<? } else { ?>
		<INPUT type=radio value=기타 name=wr_8>기타
	<? } ?>
    </TD>
</TR>
<? // JSY ADD END ?>

<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:20px;'>· 상세내용</td>
    <td style='padding:5 0 5 0;'>
        <table width=100% cellpadding=0 cellspacing=0>
        <tr>
            <td width=20% align=left valign=bottom>
                <span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
            <td width=80% align=right>
				<? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?>
			</td>
        </tr>
        </table>

        <textarea id=wr_content name=wr_content class=tx style='width:100%; word-break:break-all;' rows=10 itemname="내용" required
        <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
        <? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?></td>
</tr>
<?
    //  <?=substr($view[wr_datetime],2,14)
    //  wr_datetime 날짜를 년월일만 취해서 000000으로 표시
    $view_year  = substr($write[wr_datetime],0,4); // 0000년
    $view_month = substr($write[wr_datetime],5,2); // 00월
    $view_day   = substr($write[wr_datetime],8,2); // 00일

    $first_day  = $view_year.$view_month.$view_day;
?>

<tr>
	<td>&nbsp;</td>
    <td height=30>
		<font color=CCCCCC>검증코드 : <?=$first_day?>|<?=$write[wr_7]?></font>
    </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 링크 #<?=$i?></td>
    <td><input type='text' class=ed size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? } ?>

<? if ($is_file) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'><table cellpadding=0 cellspacing=0><tr><td style=" padding-top: 10px;">· 파일 <span onclick="add_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>+</span> <span onclick="del_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>-</span></td></tr></table></td>
    <td style='padding:5 0 5 0;'><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>
        <script language="JavaScript">
        var flen = 0;
        function add_file(delete_code)
        {
            var upload_count = <?=(int)$board[bo_upload_count]?>;
            if (upload_count && flen >= upload_count)
            {
                alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
                return;
            }

            var objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];

            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);

            objCell.innerHTML = "<input type='file' class=ed size=32 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class=ed size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }

            flen++;
        }

        <?=$file_script; //수정시에 필요한 스크립트?>

        function del_file()
        {
            // file_length 이하로는 필드가 삭제되지 않아야 합니다.
            var file_length = <?=(int)$file_length?>;
            var objTbl = document.getElementById("variableFiles");
            if (objTbl.rows.length - 1 > file_length)
            {
                objTbl.deleteRow(objTbl.rows.length - 1);
                flen--;
            }
        }
        </script></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_trackback) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 트랙백주소</td>
    <td><input class=ed size=50 name=wr_trackback itemname="트랙백" value="<?=$trackback?>">
        <? if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1">핑 보냄<? } ?></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_norobot) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· <?=$norobot_str?></td>
    <td><input class=ed type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;* 왼쪽의 글자중 <font color="red">빨간글자만</font> 순서대로 입력하세요.</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr><td colspan=2 height=1 bgcolor=#000000></td></tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" height="30" background="<?=$board_skin_path?>/img/write_down_bg.gif"></td>
</tr>
<tr>
    <td width="100%" align="center" valign="top">
        <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>&nbsp;
        <a href="./board.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_1&sod=desc&sfl=&stx=&page=1"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>

</td></tr></table>
</form>


<script language="javascript">
<? /*
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin) 
{
    echo "
    if (typeof(document.fwrite.ca_name) != 'undefined')
    {
        document.fwrite.ca_name.options.length += 1;
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
    }";
} 
*/ ?>

with (document.fwrite) 
{
    if (typeof(wr_name) != "undefined")
        wr_name.focus();
    else if (typeof(wr_subject) != "undefined")
        wr_subject.focus();
    else if (typeof(wr_content) != "undefined")
        wr_content.focus();

    if (typeof(ca_name) != "undefined")
        if (w.value == "u")
            ca_name.value = "<?=$write[ca_name]?>";
}

function html_auto_br(obj)
{
    if (obj.checked) 
    {
        result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
        if (result)
            obj.value = "html2";
        else
            obj.value = "html1";
    }
    else
        obj.value = "";
}

function fwrite_check(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) 
    {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (s = word_filter_check(f.wr_content.value)) 
    {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (char_min > 0 || char_max > 0)
    {
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
            return;
        } 
        else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }

    if (typeof(f.wr_key) != "undefined") 
    {
        if (hex_md5(f.wr_key.value) != md5_norobot_key) 
        {
            alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
            f.wr_key.focus();
            return;
        }
    }

    document.getElementById('btn_submit').disabled = true;
    document.getElementById('btn_list').disabled = true;

    f.action = "./write_update.php";
    f.submit();
}
</script>

  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로