빠른 상담을 변형을 햇습니다. 정보
빠른 상담을 변형을 햇습니다.
본문
arari님의 빠른상담 신청을 변형을 했습니다.
금지단어 차단, 자동등록 방지 기능이 작동하도록 수정을 하는데, 마지막에 글이 등록이 안되어서요,
소스를 올립니다.
확인을 하시고 도움을 주세요.
해당 기능이 정상적으로 작동이 되면 스킨 게시판에 올리겠습니다.
다음은 해당 소스입니다.
금지단어 차단, 자동등록 방지 기능이 작동하도록 수정을 하는데, 마지막에 글이 등록이 안되어서요,
소스를 올립니다.
확인을 하시고 도움을 주세요.
해당 기능이 정상적으로 작동이 되면 스킨 게시판에 올리겠습니다.
다음은 해당 소스입니다.
<?
$g4_path = "/"; // 그누보드가 있는 상대경로를 적어줌
?>
<link href="/home.css" rel="stylesheet" type="text/css">
<table cellpadding="0" cellspacing="0" width="386" height="184" valign="top" border="0">
<tr>
<td width="386" background="/images/online.gif">
<!-- outer-->
<table align=center cellpadding=0 cellspacing=0 border=0 width=386>
<tr>
<td>
<table width=386 cellpadding=0 cellspacing=0 border=0>
<form name=fwrite method=post action="javascript:fwrite_check(document.fwrite);">
<input type=hidden name=w value="">
<input type=hidden name=bo_table value="online">
<input type=hidden name=wr_id value="">
<input type=hidden name=sca value="">
<input type=hidden name=sfl value="">
<input type=hidden name=stx value="">
<input type=hidden name=spt value="">
<input type=hidden name=sst value="">
<input type=hidden name=sod value="">
<input type=hidden name=secret value="">
<input type=hidden name=s value="s">
<input type=hidden name=wr_subject value="온라인 수강신청">
<input type=hidden name=wr_key value="<?=$norobot_key?>">
<input type=hidden name=page value="<?=$page?>">
<tr><td height="40"></td></tr>
<tr>
<td valign=top style="padding:5px 7px 0px 5px;">
<table WIDTH="100%" cellpadding=0 cellspacing=0 border=0>
<tr>
<td width=80 height=18 style="padding-left:8px;"> </td>
<td>
<table width=98% cellpadding=0 cellspacing=0 border=0>
<tr>
<td width=120><input class='quick' type="text" name="wr_name" size="15" required itemname="이름"></td>
</tr>
</table>
</td>
<td width=50 height=18 style="padding-left:8px;" align="left"> </td>
<td>
<table width=98% cellpadding=0 cellspacing=0 border=0>
<tr>
<td><select name='wr_4' class='quick' style="color:#ffffff;background-color:#6089a9;" itemname='종별' >
<option value='1종(보통)' <? if($wr_4 == "1종(보통)") echo "selected"; ?>>1종(보통)</option>
<option value='2종(수동)' <? if($wr_4 == "2종(수동)") echo "selected"; ?>>2종(수동)</option>
<option value='2종(자동)' <? if($wr_4 == "2종(자동)") echo "selected"; ?>>2종(자동)</option>
<option value='도로연수' <? if($wr_4 == "도로연수") echo "selected"; ?>>도로연수</option>
</select></td>
</tr>
</table>
</td>
</tr>
<tr><td height="4"></td></tr>
<!--휴대전화 시작-->
<tr>
<td width=80 height=18 style="padding-left:8px;"> </td>
<td colspan=3> <select name='hp1' class='quick' itemname='휴대전화' >
<option value='010' <? if($hp1 == "010") echo "selected"; ?>>010</option>
<option value='011' <? if($hp1 == "011") echo "selected"; ?>>011</option>
<option value='016' <? if($hp1 == "016") echo "selected"; ?>>016</option>
<option value='017' <? if($hp1 == "017") echo "selected"; ?>>017</option>
<option value='018' <? if($hp1 == "018") echo "selected"; ?>>018</option>
<option value='019' <? if($hp1 == "019") echo "selected"; ?>>019</option>
</select> -
<input name='hp2' class='quick' type='text' size='4' maxlength='4' required itemname='휴대전화 두번째자리'> -
<input name='hp3' class='quick' type='text' size='4' maxlength='4' required itemname='휴대전화 세번째자리'>
</td>
</tr>
<tr><td height="4"></td></tr>
<tr>
<td width=80 height=18 style="padding-left:8px;"> </td>
<td colspan=3><textarea name="wr_content" rows="2" cols="32" required itemname="상담내용"></textarea></td>
</tr>
<tr>
<td class=write_head><img id='kcaptcha_image' border='0' width=100 height=25 onclick="imageClick();" style="cursor:pointer;" title="글자가 잘안보이는 경우 클릭하시면 새로운 글자가 나옵니다."></td>
<td colspan=2><input class='ed' type=input size=10 name=wr_key itemname="자동등록방지" required> 왼쪽의 글자 입력</td>
<td colspan="4" align=center><input type=image src="/images/online_btn.gif" alt="상담신청" ></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
<!--outer end-->
<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;
}
}
<?
if ($is_dhtml_editor) {
echo cheditor3('wr_content');
echo "if (!document.getElementById('wr_content').value) { alert('내용을 입력하십시오.'); return; } ";
}
?>
document.getElementById('btn_submit').disabled = true;
<? if($is_admin == "super"){ ?>
document.getElementById('btn_list').disabled = true;
<? } ?>
f.action = "./write_update.php";
f.submit();
}
</script>
<script type="text/javascript"> var md5_norobot_key = ''; </script>
<script type="text/javascript" src="<?="$g4[path]/js/prototype.js"?>"></script>
<script type="text/javascript">
function imageClick() {
var url = "<?=$g4[bbs_path]?>/kcaptcha_session.php";
var para = "";
var myAjax = new Ajax.Request(
url,
{
method: 'post',
asynchronous: true,
parameters: para,
onComplete: imageClickResult
});
}
function imageClickResult(req) {
var result = req.responseText;
var img = document.createElement("IMG");
img.setAttribute("src", "<?=$g4[bbs_path]?>/kcaptcha_image.php?t=" + (new Date).getTime());
document.getElementById('kcaptcha_image').src = img.getAttribute('src');
md5_norobot_key = result;
}
<? if (!$is_member) { ?>Event.observe(window, "load", imageClick);<? } ?>
<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
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 ($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;
}
}
if (typeof(f.wr_key) != 'undefined') {
if (hex_md5(f.wr_key.value) != md5_norobot_key) {
alert('자동등록방지용 글자가 제대로 입력되지 않았습니다.');
f.wr_key.select();
f.wr_key.focus();
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 language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<script language='javascript' src='<?="$g4[path]/js/md5.js"?>'></script>
<script language='javascript'> var g4_cf_filter = '<?=$config[cf_filter]?>'; </script>
<script language="JavaScript" src="<?="$g4[path]/js/filter.js"?>"></script>
<script language="JavaScript"> window.onload=function() { drawFont(); } </script>
</td>
<tr><td align="left" height="5"></td></tr>
</table>
<!--//-->
댓글 전체
소스만 보자니 눈이 아파서...;;;
등록할때 오류가 뜨시는지 그냥 넘어가버리고 등록이 안되는지...
괜찮으시다면 링크 걸어주시면 좀더 빠르게...도움을...
등록할때 오류가 뜨시는지 그냥 넘어가버리고 등록이 안되는지...
괜찮으시다면 링크 걸어주시면 좀더 빠르게...도움을...
http://www.onedrive.co.kr/ 메인에 온라인 신청 부분입니다.
위 소스가 맞는것 같은데, 부분적으로 정상적으로 금지어 걸러내기, 자동등록 방지등 작동이 됩니다.
정작 글이 등록이 되지 않네요,
위 소스가 맞는것 같은데, 부분적으로 정상적으로 금지어 걸러내기, 자동등록 방지등 작동이 됩니다.
정작 글이 등록이 되지 않네요,
글 들어가는데요...수정하신건가;;;;
글자세히 안보고 온라인메뉴가서 했네요.ㅋㅋㅋ
메인은...
fwrite_submit(f)랑 fwrite_check(f) 두개 한페이지 도네요...
fwrite_check()로 정상적으로 가는데
fwrite_submit(f)에서 hex_md5(f.wr_key.value) fwrite_submit(f)는 f값이 없어서 f.wr_key.value를 못읽어서 md5.js에서 f.wr_key.value값으로 .length하는데 넘어온게없으니깐...그냥 스톱...되는거 같네요...
정확한지는 정확하게 모르겠지만...제가 보기엔 좀 유력한..ㅋㅋㅋ
fwrite_check(f)함수로 넘기시니깐..fwrite_submit(f)함수는 지워보세요...아마도 될듯하네요...
안되면 또 찾아봐야겠죠..^^;;;
메인은...
fwrite_submit(f)랑 fwrite_check(f) 두개 한페이지 도네요...
fwrite_check()로 정상적으로 가는데
fwrite_submit(f)에서 hex_md5(f.wr_key.value) fwrite_submit(f)는 f값이 없어서 f.wr_key.value를 못읽어서 md5.js에서 f.wr_key.value값으로 .length하는데 넘어온게없으니깐...그냥 스톱...되는거 같네요...
정확한지는 정확하게 모르겠지만...제가 보기엔 좀 유력한..ㅋㅋㅋ
fwrite_check(f)함수로 넘기시니깐..fwrite_submit(f)함수는 지워보세요...아마도 될듯하네요...
안되면 또 찾아봐야겠죠..^^;;;
감사합니다.
그러나 반응이 없네요.
잘 들어갈것으로 예상이 되었으나
외부 요인에 문제가 있는 것으로 예상이 됩니다.
그러나 반응이 없네요.
잘 들어갈것으로 예상이 되었으나
외부 요인에 문제가 있는 것으로 예상이 됩니다.