게시물 등록날짜가 제대로 저장이 안됩니다 > 그누4 질문답변

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 질문답변

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

게시물 등록날짜가 제대로 저장이 안됩니다 정보

게시물 등록날짜가 제대로 저장이 안됩니다

첨부파일

open_market.zip (84.4K) 3회 다운로드 2011-04-12 20:36:17

본문

게시물을 등록하면 날짜가 제대로 등록이 안되는 문제로 고생중인데...
당체 어디가 문제인지 확인이 안되는군요.

위 이미지 (해당게시물의 mysql 테이블 필드값 화면...)에서 보듯이 게시물을 등록하고 나면
게시물 등록날짜( wr_datetime)가 '0000-00 ~~~ '  이런식으로 표시가 됩니다.

- 특정게시물을 하나 등록했을때 ...
- 해당게시물의 db 테이블 wr_datetime 필드값에 ... " 0000-00-00 00:00:00 " 로 표시되고
- 해당게시판의 view.skin.php 의 날짜부분에는 ... "99-11-30 00:00"....로 표시가 됩니다

더 문제가 되는것은....
게시물을 연속으로 등록하다가 보면 어떨때는 제대로 날짜가 등록되어 표시 되다가
또 어떨때는 위 처럼 날짜가 저장되지 않고 나타나지를 않습니다.

pc의 시스템 날짜도 체크해보고 호스팅쪽에 문의도 해보고 했지만 별 이상이 없습니다

일단 본 스킨을 사용할때 이런 문제가 생기는걸로 보이는데
일일히 뒤져봐도 어떤 코드가 문제를 일으키는지 도무지 찾아낼 방도가 없군요.

뭐가 문제인지... 도움좀 부탁드립니다. .........help me~~~~


p.s;
게시판스킨을 통째로 압축해서 등록해뒀습니다.
그리고 아래는 write.skin.php 파일의 내용입니다. 


[write.skin.php ] --------------------------------------------------------

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

if ($is_dhtml_editor) {
    include_once("$g4[path]/lib/cheditor4.lib.php");
    echo "<script src='$g4[cheditor4_path]/cheditor.js'></script>";
    echo cheditor1('wr_content', '100%', '250');
}
?>

<style type="text/css">

.write_tbl th {

height:30px;
padding:5px 10px 0 20px;
background-color: #EAF7FA;
border-bottom:1px solid #B1D4DC; border-right:1px solid #B1D4DC;

text-align:left;
color: #345c98;
    font-size: 9pt;
}

.write_tbl td {

height:30px;
padding:0px 0 0 10px;
background-color: #FFFFFF;
border-bottom:1px solid #B1D4DC;

text-align:left;
color: #345c98;
    font-size: 9pt;
}

.write_tbl wbox { border:1px solid #cccccc;  }

</style>


<?
/*
판매가격 $write[wr_3]);
제조/원산지 $write[wr_4]);
모델/규격 $write[wr_5]);

제품구분 $write[wr_7]);
진행상황 $write[wr_8]);
*/
?>

<div style="height:14px; line-height:1px; font-size:1px;">&nbsp;</div>

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

<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" 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>


<div style="border:1px solid #ddd; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">
<div style="font-weight:bold; font-size:14px; margin:7px 0 0 10px;">:: <!-- <?=$title_msg?> --> 제품등록하기 ::</div>
</div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>


<table class='write_tbl' width="100%" border="0" style='border-collapse:collapse' cellspacing="0" cellpadding="0">
<colgroup width=110>
<colgroup width=''>
<? if ($is_name) { ?>
<tr>
    <th>이 름</td>
    <td><input class='wbox' maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></td></tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <th>패스워드</th>
    <td><input class='wbox' type=password maxlength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></td></tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <th>이메일</th>
    <td><input class='wbox' maxlength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></td></tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <th>홈페이지</th>
    <td><input class='wbox' size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></td></tr>
<? } ?>

<?
$option = "";
$option_hidden = "";
if ($is_notice || $is_html || $is_secret || $is_mail) {
    $option = "";
    if ($is_notice) {
        $option .= "<input type=checkbox name=notice value='1' $notice_checked>추천상품&nbsp;";
    }

    if ($is_html) {
        if ($is_dhtml_editor) {
            $option_hidden .= "<input type=hidden value='html1' name='html'>";
        } else {
            $option .= "<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) {
        if ($is_admin || $is_secret==1) {
            $option .= "<input type=checkbox value='secret' name='secret' $secret_checked><span class=w_title>비밀글</span>&nbsp;";
        } else {
            $option_hidden .= "<input type=hidden value='secret' name='secret'>";
        }
    }
   
    if ($is_mail) {
        $option .= "<input type=checkbox value='mail' name='mail' $recv_email_checked>답변메일받기&nbsp;";
    }
}

echo $option_hidden;
if ($option) {
?>
<tr>
    <th>옵션</th>
    <td><?=$option?></td></tr>
<? } ?>

<? if ($is_category) { ?>
<tr>
    <th>등록분류</th>
    <td><select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></td></tr>
<? } ?>

<tr>
    <th>제품명</th>
    <td><input class='wbox' style="width:100%;" name=wr_subject id="wr_subject" itemname="제목" required value="<?=$subject?>"></td></tr>

<tr>
    <th>판매가</th>
    <td><input class='wbox' maxlength=8 size=10 name=wr_3 id="wr_3" itemname="가격" onkeydown='onlyNumber(this);' required value="<?=$write[wr_3]?>">&nbsp;원&nbsp;&nbsp;(판매가격이 '0'원이면, '가격문의'로 표시)</td></tr>

<tr>
    <th>제조or원산지</th>
    <td><input class='wbox' style="width:50%;" name=wr_4 id="wr_4" itemname="제조사" required value="<?=$write[wr_4]?>">&nbsp;&nbsp;(예: 한국/한국타이어)</td></tr>

<tr>
    <th>모델or규격</th>
    <td><input class='wbox' style="width:50%;" name=wr_5 id="wr_5" itemname="모델명"  value="<?=$write[wr_5]?>"></td></tr>

<tr>
    <th>제품상태 <!-- 체크 스크립터포함 --></th>
    <td>
<input type=radio name='wr_7' value='1'  <? if($write[wr_7] == "1")  echo "checked"; ?>>신품
<input type=radio name='wr_7' value='2'  <? if($write[wr_7] == "2")  echo "checked"; ?>>중고
<input type=radio name='wr_7' value='3'  <? if($write[wr_7] == "3")  echo "checked"; ?>>재생
<input type=radio name='wr_7' value='4'  <? if($write[wr_7] == "4")  echo "checked"; ?>>재고
</td></tr>

<tr>
    <th>진행상황</th>
    <td>
<input type=radio name="wr_8" value="on" <? if($write[wr_8] == "on")  echo "checked"; ?>>구매가능
<input type=radio name='wr_8' value='off'  <? if($write[wr_8] == "off")  echo "checked"; ?>>판매종료&nbsp;&nbsp;('판매종료'선택시 가격->'품절'로 표시됨)
</td></tr>

<tr>
    <th>내용작성</th>
    <td>
        <? if ($is_dhtml_editor) { ?>
            <?=cheditor2('wr_content', $content);?>
        <? } else { ?>
        <table width=100% cellpadding=0 cellspacing=0>
        <tr>
            <td width=50% 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=50% align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
        </tr>
        </table>
        <textarea id="wr_content" class='wbox' name="wr_content" 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 type="text/javascript"> check_byte('wr_content', 'char_count'); </script><?}?>
        <? } ?>
    </td>
</tr>

<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
    <th>링크 #<?=$i?></th>
    <td><input class='wbox' type='text' size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'>&nbsp;&nbsp;
<? if($board[bo_table] == 'best_goodlist') { echo "<font color='red'><strong>상품의 원래주소를 링크해주세요</strong></font>";}else{}?></td>
</tr>
<? } ?>
<? } ?>

<tr>
    <td colspan="2" style='padding:0'>
<table width='100%' cellpadding=0 cellspacing=3><tr>
<td class='tt' style='border:1px solid #888888; background-color:#FFFFEE; padding:2px;'>
1. 첫번째 이미지는 <strong>가로/세로폭이 동일한</strong>, '정사각형'규격만 등록하세요 (규격:  <font color='#CC0000'>최소 230px</font>이상,  <font color='#CC0000'>최대 500px</font>)<br>
2. 두번째부터 등록되는 이미지의 최대 가로넓이는 <font color='#CC0000'><?=$board[bo_image_width]?>px </font> 이하이어야 합니다
</td></tr>
</table>
</td>
</tr>

<? if ($is_file) { ?>
<tr>
    <th>
<div align='top'>
          이미지등록&nbsp;<br>
          &nbsp;<span onclick="add_file();" style="cursor:pointer;"><img src="<?=$board_skin_path?>/img/btn_file_add.gif" style="vertical-align:middle"></span>
          <span onclick="del_file();" style="cursor:pointer;"><img src="<?=$board_skin_path?>/img/btn_file_minus.gif" style="vertical-align:middle"></span>
    </th>
    <td style='padding:5 0 5 0;'><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>

<!--  // bo_4에 값이 있는경우  -------------- 수정정보 2-2  -->
<? if($board[bo_4] != '') {
echo "&nbsp;&nbsp;&nbsp;이미지업로드시 <font color='red'>{$board[bo_4]} pixel</font>로 줄여서 등록됩니다";
}
?>

        <script type="text/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 class='wbox' type='file' name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input class='wbox' type='text' 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>
<? } ?>

<? if ($is_trackback) { ?>
<tr>
    <th>트랙백주소</th>
    <td><input size=50 name=wr_trackback itemname="트랙백" value="<?=$trackback?>">
        <? if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1">핑 보냄<? } ?></td>
</tr>
<? } ?>

<? if ($is_guest) { ?>
<tr>
    <td class='write_head'><img id='kcaptcha_image' /></td>
    <td><input type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;왼쪽의 글자를 입력하세요.</td>
</tr>
<? } ?>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" align="center" valign="top" style="padding-top:30px;">
        <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?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>

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

<!---- 숫자만 입력받는 스크립터 --//-->
<script>
function onlyNumber(objtext1){
var inText = objtext1.value;
var ret;

for (var i = 0; i < inText.length; i++) {
ret = inText.charCodeAt(i);
if (!((ret > 47) && (ret < 58))) {
alert("숫자만을 입력하세요");
objtext1.value = "";
objtext1.focus();
return false;
}
}
}
</script>
<!---- 숫자만 입력받는 스크립터 끝 --//-->

<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/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_submit(f)
{
    /*
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return false;
    }

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

    if (document.getElementById('char_count')) {
        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 false;
            }
            else if (char_max > 0 && char_max < cnt) {
                alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
                return false;
            }
        }
    }

/* --------------- 여유필드 라디오값 체크 --------- */
if(f.wr_7[0].checked != true && f.wr_7[1].checked != true && f.wr_7[2].checked != true && f.wr_7[3].checked != true  ){
alert("제품상태를 체크해 주세요");
return false;
}

if(f.wr_8[0].checked != true && f.wr_8[1].checked != true  ){
alert("진행상황을 체크해 주세요");
return false;
}
/* --------------- 여유필드 라디오값 체크  end --------- */

    <?
    if ($is_dhtml_editor) echo cheditor3('wr_content');
    ?>

    if (document.getElementById('tx_wr_content')) {
        if (!ed_wr_content.outputBodyText()) {
            alert('내용을 입력하십시오.');
            ed_wr_content.returnFalse();
            return false;
        }
    }

    var subject = "";
    var content = "";
    $.ajax({
        url: "<?=$board_skin_path?>/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 (!check_kcaptcha(f.wr_key)) {
        return false;
    }

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

    <?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
   
    return true;
}
</script>

<script type="text/javascript" src="<?="$g4[path]/js/board.js"?>"></script>
<script type="text/javascript"> window.onload=function() { drawFont(); } </script>

댓글 전체

먼저 아래와 같이 테스트 해보세요
bbs/write_update.php의 insert 부분에서
wr_datetime = '$g4[time_ymdhis]', 이부분을
wr_datetime = '2011-04-30 12:30:12', 이렇게 만든 다음 새글을 등록해보세요
제대로 들어간다면 위 화일 최상단에
echo "$g4[time_ymdhis] //////서버시각"; exit;
이렇게 넣고 새글을 등록해보세요
정상적인 오늘날짜가 출력되지않는다면 날짜변수가 어딘가에서 변경되는 것입니다
균이님 오랜만이군요. ^^  리플을 주셔서 감사합니다
날짜가 제대로 들어갔다가 안들어갔다가를 계속 반복하다가
지금은 아무것도 안건드렸는데 오늘 10여차례 테스트 하는동안은 또 정상적으로 날짜가 들어는 가고 있습니다.
(이렇게 두서없이 문제가 생기니 정말 잡아내기가 어렵네요....)

언급해 주신대로 해봤습니다

1)번 .... 먼저 bbs/write_update.php의 insert 부분에서
wr_datetime = '$g4[time_ymdhis]', 이부분을 wr_datetime = '2222-01-01 12:30:12',  로 한 다음
게시물 등록을 해봤더니... 위 '2222-01-01 12:30:12' 날짜/시간이 표시됩니다.

2)번 그다음...
위 화일 최상단에
echo "$g4[time_ymdhis] //////서버시각"; exit;  하고 찍으니 현재의 날짜/시간이 표시됩니다.


... 위상태면....현재로써는 코드가 이상이 없는건가요???

... 근데...왜....이런현상이 ....  -_- ;;  (예상되는 원인을 유추해볼수는 없을까요..?)
전체 4 |RSS
그누4 질문답변 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 조회
  • 게시물이 없습니다.

회원로그인

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