알라뷰님의 폼메일 형식 게시판 소스 입니다.
방문자가 자신의 신상정보?를 써서 방문 예약을 하는 폼메일 소스 인데요.
정상적인 접근이 아니라는 메세지만 자꾸 뜨고 있습니다.
자동등록 방지 문제인 것 같은데요.
게시판 찾아보고 이렇게도 해보고 저렇게도 해 봤습니다만... 안먹힙니다 ㅠㅠ
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');
}
?>
<div style="height:14px; line-height:1px; font-size:1px;"> </div>
<style type="text/css">
.write_head { height:30px; text-align:center; color:#8492A0; }
.field { border:1px solid #ccc; }
</style>
<script language="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>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height=10></td></tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="7">
<!--
<?
if($is_admin){
?>
<tr><td colspan=2 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>상태</td>
<td>
<input type=radio name=wr_8 <?if($write[wr_8]=='답변전' || $write[wr_8]=='')echo "checked";?> value="답변전">답변전
<input type=radio name=wr_8 <?if($write[wr_8]=='답변중')echo "checked";?> value="조치중">답변중
<input type=radio name=wr_8 <?if($write[wr_8]=='완료')echo "checked";?> value="완료">완료
(<font color=blue>관리자만 보임</font>)
</td></tr>
<?}?>
-->
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>+신부님 성함</td>
<td><input class=ed maxlength=20 size=15 name=wr_name itemname="신부이름" required value="<?=$write[wr_name]?>">(한글)</td>
<td><input class=ed maxlength=20 size=15 name=wr_content itemname="신부이름한자" required value="<?=$write[wr_content]?>">(한자)</td></tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>+신랑님 성함</td>
<td><input class=ed maxlength=20 size=15 name=wr_2 itemname="신랑이름" required value="<?=$write[wr_2]?>">(한글)</td>
<td><input class=ed maxlength=20 size=15 name=wr_3 itemname="신랑이름한자" required value="<?=$write[wr_3]?>">(한자)</td></tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>+신랑님 본관</td>
<td colspan=2><input class=ed maxlength=20 size=15 name=wr_4 itemname="신랑본관" required value="<?=$write[wr_4]?>">(예:경주 김씨)</td>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>몇째 아드님</td>
<td colspan=2><input class=ed maxlength=20 size=15 name=wr_5 required value="<?=$write[wr_5]?>">(장남 or 차남)</td>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>+신랑 아버님 성함</td>
<td><input class=ed maxlength=20 size=15 name=wr_6 itemname="신랑부친이름" required value="<?=$write[wr_6]?>">(한글)</td>
<td><input class=ed maxlength=20 size=15 name=wr_7 itemname="신랑부친이름한자" required value="<?=$write[wr_7]?>">(한자)</td></tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px;'>+예식날짜</td>
<td colspan=2><input class=ed maxlength=4 size=4 name=wr_8 itemname="예식년" required value="<?=$write[wr_8]?>">년 <input class=ed maxlength=2 size=2 name=wr_9 itemname="예식일" required value="<?=$write[wr_9]?>">월 <input class=ed maxlength=2 size=2 name=wr_9 itemname="예식일" required value="<?=$write[wr_9]?>">일</td>
</tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px;'>+함 들어가는날</td>
<td colspan=2><input class=ed maxlength=4 size=4 name=wr_10 itemname="함년" required value="<?=$write[wr_10]?>">년 <input class=ed maxlength=2 size=2 name=wr_11 itemname="함월" required value="<?=$write[wr_11]?>">월 <input class=ed maxlength=2 size=2 name=wr_12 itemname="함일" required value="<?=$write[wr_12]?>">일</td>
</tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px;'>+방문예정일</td>
<td colspan=2><input class=ed maxlength=4 size=4 name=wr_13 itemname="방문년" required value="<?=$write[wr_13]?>">년 <input class=ed maxlength=2 size=2 name=wr_14 itemname="방문월" required value="<?=$write[wr_14]?>">월 <input class=ed maxlength=2 size=2 name=wr_15 itemname="방문일" required value="<?=$write[wr_15]?>">일 (주말은 오전 중 가능)</td>
</tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px; height:30px;'>+방문자 성함</td>
<td colspan=2><input class=ed maxlength=60 size=35 name=wr_subject itemname="방문자" required value="<?=$write[wr_subject]?>"></td></tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<tr>
<td bgcolor=#efefef style='padding-left:20px;'>+연락처</td>
<td colspan=2><input class=ed maxlength=3 size=3 name=wr_17 itemname="연락처1" required value="<?=$write[wr_17]?>">-<input class=ed maxlength=4 size=4 name=wr_18 itemname="연락처2" required value="<?=$write[wr_18]?>">-<input class=ed maxlength=4 size=4 name=wr_19 itemname="연락처3" required value="<?=$write[wr_19]?>"></td>
</tr>
<tr><td colspan=3 height=1 bgcolor=#d7d7d7></td></tr>
<!-- <? if ($is_guest) { ?>
<tr>
<td class=write_head><img id='kcaptcha_image' border='0' width=120 height=60 onclick="imageClick();" style="cursor:pointer;" title="글자가 잘안보이는 경우 클릭하시면 새로운 글자가 나옵니다."></td>
<td><input class='ed' type=input size=10 name=wr_key itemname="자동등록방지" required> 왼쪽의 글자를 입력하세요.</td>
</tr> -->
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="10" 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'>
<a href="#" onclick="history.go(0)"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_write2.gif" border=0></a>
<? if($is_admin){ echo "<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 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 = '공지';
}";
}
?>
<script type="text/javascript">
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"> window.onload=function() { drawFont(); } </script>
이리저리 붙였다 지웠다 한 거라 소스가 누더기같습니다 좀 도와 주세요 ㅠㅠ
댓글 10개
<?php
$_POST[wr_key] = get_session("captcha_keystring");
?>
write_update.head.skin.php 파일로 저장하시면 됩니다.
<?php
set_session("captcha_keystring", "1");
$_POST[wr_key] = get_session("captcha_keystring");
?>
혹시나 해서 write_update.skin.php 내용도 적어봅니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
$is_member=true;
if($w != 'u') {
alert("성공적으로 메일이 전송되었습니다. 빠른시간내에 연락드리겠습니다.", $g4[path]);
}
?>
<!--
<?
if($is_admin){
?>
<script language="JavaScript">
alert("정상적으로 처리되었습니다.");
</script>
<? } else {?>
<script language="JavaScript">
alert("정상적으로 신청되었습니다.");
window.location='../';
</script>
<? } ?>
-->
- 테스트주소 : http://dooraei.com/bbs/bbs/board.php?bo_table=test6
기존 스킨에서 수정한 건 write_update.head.skin.php 파일을 생성한 것 뿐입니다.
테스트에 사용한 스킨을 첨부합니다.
- 다운로드 주소
http://dooraei.com/bbs/bbs/board.php?bo_table=gnu_qna&wr_id=49
그렇지만 모르는 거 붙들고 낑낑대느라 다른거 못하느니 그냥 이걸로 스킨을 쓰고 다시 고치는 게 나을 것 같아요 ^^;
도움 주셔서 감사합니다. 복받으세요 (__)
http://dooraei.com/bbs/bbs/board.php?bo_table=gnu_qna
http://dooraei.com/bbs/bbs/board.php?bo_table=pds_util&wr_id=3