온라인신청 폼을 만들었는데 데이터가 날아갑니다..
본문
온라인신청 폼을 apply2라는 스킨을써서 만들었는데 처음 등록하는거 까지는 아무 문제없이 잘 되는데
그 후 수정을 위해 다시 게시물에 들어가면 미리 입력했던 정보들이 어떤거는 남아있고 어떤거는 날아가고 어떤거는 다른거와 같아집니다.... 아무것도 없어지지않고 입력한 그대로 남아있게 어떻게 해야할까요?
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>
<section id="bo_w">
<h2 id="container_title"><?php echo $board['bo_subject'] ?></h2>
<!-- <h2 id="container_title"><?php echo $g5['title'] ?></h2>-->
<!-- 게시물 작성/수정 시작 { -->
<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="wr_subject">
<input type="hidden" name="wr_6" value="<img src='/img/q.png'>" />
<?php if(!$w) { ?>
<?php } ?>
<?php
$option = '';
$option_hidden = '';
if ($is_notice || $is_html || $is_secret || $is_mail) {
$option = '';
if ($is_notice) {
$option .= "\n".'<input type="checkbox" id="notice" name="notice" value="1" '.$notice_checked.'>'."\n".'<label for="notice">공지</label>';
}
if ($is_html) {
if ($is_dhtml_editor) {
$option_hidden .= '<input type="hidden" value="html1" name="html">';
} else {
$option .= "\n".'<input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="html">html</label>';
}
}
if ($is_secret) {
if ($is_admin || $is_secret==1) {
$option .= "\n".'<input type="checkbox" id="secret" name="secret" value="secret" '.$secret_checked.'>'."\n".'<label for="secret">비밀글</label>';
} else {
$option_hidden .= '<input type="hidden" name="secret" value="secret">';
}
}
if ($is_mail) {
$option .= "\n".'<input type="checkbox" id="mail" name="mail" value="mail" '.$recv_email_checked.'>'."\n".'<label for="mail">답변메일받기</label>';
}
}
echo $option_hidden;
?>
<div class="tbl_frm01 tbl_wrap">
<table>
<tbody>
<?php if ($is_admin) { ?>
<tr>
<th><label for="wr_6">진행상황</label></th>
<td colspan="3">
<select name="wr_6">
<option value="<img src='/img/q.png'>" <?php if($wr_6 == "" or $wr_6 == "w작업대기") echo "selected=\"selected\""; ?>>작업대기</option>
<option value="<img src='/img/qq.png'>" <?php if($wr_6 == "진행중") echo "selected=\"selected\""; ?>>진행중</option>
<option value="<img src='/img/qqq.png'>" <?php if($wr_6 == "작업완료") echo "selected=\"selected\""; ?>>작업완료</option>
</select></td>
</tr>
<?php } ?>
<tr>
<th><label for="wr_2">오버워치 계정</label></th>
<td><input type="text" name="wr_2" value="<?php echo $wr_2 ?>" id="wr_2" required class="frm_input required" size="40" maxlength="100"></td>
</tr>
<tr>
<th><label for="wr_name">신청자 명<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input required" size="25" maxlength="40"></td>
</tr>
<tr>
<th><label for="wr_1">현재점수</label></th>
<!--<td><input type="text" name="wr_1" value="<?php echo $wr_3 ?>" id="wr_1" required class="frm_input required" size="35" maxlength="100"></td>-->
<td style="float:left;" colspan="3" >
<select name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" >
<option value="">선택하세요.</option>
<option value="0000~2500점" <?php if($wr_1 == "0000~2500") echo "selected=\"selected\""; ?>>0000~2500</option>
<option value="2500~3000점" <?php if($wr_1 == "2500~3000") echo "selected=\"selected\""; ?>>2500~3000</option>
<option value="3000~3250점" <?php if($wr_1 == "3000~3250") echo "selected=\"selected\""; ?>>3000~3250</option>
<option value="3250~3500점" <?php if($wr_1 == "3250~3500") echo "selected=\"selected\""; ?>>3250~3500</option>
<option value="3500~3750점" <?php if($wr_1 == "3500~3750") echo "selected=\"selected\""; ?>>3500~3750</option>
<option value="3750~4000점" <?php if($wr_1 == "3750~4000") echo "selected=\"selected\""; ?>>3750~4000</option>
<option value="4000점 이상" <?php if($wr_1 == "4000 이상") echo "selected=\"selected\""; ?>>4000 이상</option>
</select> 점
</td>
</tr>
<tr>
<th><label for="wr_9">목표점수</label></th>
<!--<td><input type="text" name="wr_9" value="<?php echo $wr_3 ?>" id="wr_9" required class="frm_input required" size="35" maxlength="100"></td>-->
<td style="float:left;" colspan="3" >
<select name="wr_9" value="<?php echo $wr_9 ?>" id="wr_9" >
<option value="">선택하세요.</option>
<option value="0000~2500점" <?php if($wr_9 == "0000~2500") echo "selected=\"selected\""; ?>>0000~2500</option>
<option value="2500~3000점" <?php if($wr_9 == "2500~3000") echo "selected=\"selected\""; ?>>2500~3000</option>
<option value="3000~3250점" <?php if($wr_9 == "3000~3250") echo "selected=\"selected\""; ?>>3000~3250</option>
<option value="3250~3500점" <?php if($wr_9 == "3250~3500") echo "selected=\"selected\""; ?>>3250~3500</option>
<option value="3500~3750점" <?php if($wr_9 == "3500~3750") echo "selected=\"selected\""; ?>>3500~3750</option>
<option value="3750~4000점" <?php if($wr_9 == "3750~4000") echo "selected=\"selected\""; ?>>3750~4000</option>
<option value="4000점 이상" <?php if($wr_9 == "4000 이상") echo "selected=\"selected\""; ?>>4000 이상</option>
</select> 점
</td>
</tr>
<tr>
<th><label for="wr_5">작업종류</label></th>
<td>
<input type=radio name="wr_5"required class="frm_input required" value="경쟁전" <? if($write[wr_5] == "경쟁전") echo "checked";?>>경쟁전
<input type=radio name="wr_5" value="듀오" <? if($write[wr_5] == "듀오") echo "checked"; ?>>듀오
<input type=radio name="wr_5" value="배치고사" <? if($write[wr_5] == "배치고사") echo "checked"; ?>>배치고사
<input type=radio name="wr_5" value="언랭배치고사" <? if($write[wr_5] == "언랭배치고사") echo "checked"; ?>>언랭배치고사
</td>
</tr>
<tr>
<th scope="row"><label for="wr_3">연락처(문자가능)</label></th>
<td><input type="text" name="wr_3" value="<?php echo $wr_3 ?>" id="wr_3" required class="frm_input required" size="35" maxlength="100"></td>
</tr>
<tr>
<th><label for="wr_7">거래방식</label></th>
<td>
<input type=radio name="wr_7" required class="frm_input required" value="계좌이체" <? if($write[wr_7] == "계좌이체") echo "checked";?>>계좌이체
<input type=radio name="wr_7" value="아이템매니아" <? if($write[wr_7] == "아이템매니아") echo "checked"; ?>>아이템매니아
<input type=radio name="wr_7" value="문화상품권" <? if($write[wr_7] == "문화상품권") echo "checked"; ?>>문화상품권
</td>
</tr>
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
<?php } ?>
<!--
<?php if ($option) { ?>
<tr>
<th scope="row">옵션</th>
<td><?php echo $option ?></td>
</tr>
<?php } ?>
-->
<?php if ($is_category) { ?>
<tr>
<th scope="row"><label for="ca_name">분류<strong class="sound_only">필수</strong></label></th>
<td>
<select name="ca_name" id="ca_name" required class="required" >
<option value="">선택하세요</option>
<?php echo $category_option ?>
</select>
</td>
</tr>
<?php } ?>
<tr>
<th scope="row"><label for="wr_content">참고내용<strong class="sound_only">필수</strong></label></th>
<td class="wr_content">
<?php if($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
<?php } ?>
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
<?php if($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
<?php } ?>
</td>
</tr>
<?php if ($is_guest) { //자동등록방지 ?>
<tr>
<th scope="row">자동등록방지</th>
<td>
<?php echo $captcha_html ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="btn_confirm">
<input type="submit" value="작성완료" id="btn_submit" accesskey="s" class="btn_submit">
<a href="javascript:history.back();" class="btn_cancel">취소</a>
</div>
</form>
<script>
<?php if($write_min || $write_max) { ?>
// 글자수 제한
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
check_byte("wr_content", "char_count");
$(function() {
$("#wr_content").on("keyup", function() {
check_byte("wr_content", "char_count");
});
});
<?php } ?>
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) {
if (f.wr_1.value == "<?=$member[wr_1]?>") {
alert("현재점수를 선택하세요.");
f.wr_1.focus();
return false;
}
if (f.wr_9.value == "") {
alert("목표점수를 선택하세요.");
f.wr_1.focus();
return false;
}
if (f.wr_3.value == "") {
alert("담당자연락처를 입력하세요.");
f.wr_3.focus();
return false;
}
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
f.wr_subject.value = f.wr_1.value + " " + f.wr_9.value ;
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: true,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
if (!f.agree2.checked) {
alert("개인정보처리방침안내의 내용에 동의하셔야 제작신청 하실 수 있습니다.");
f.agree2.focus();
return false;
}
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;
}
</script>
</section>
<!-- } 게시물 작성/수정 끝 -->
답변 5
일다는 전부 데이터베이스에 입력이 됫는지 확인해보세요 mysql 테이블에 인설트가 잘되었는지 확인하시고
데이터가 전부 인설트되었다면 그데이터를 가져와서 화면에 찍어주는거기 때문에 인설트가되었는지확인하고 sql문으로 잘가져오는지 확인하셔요~
스킨을 basic 으로 변경해보세요.
게시판 스킨이 기존 글을 삭제하는 그런 로직은 잘 사용안하는데 말입니다.
사용하셨다는 스킨 주소를 적으시면 답변에 도움이 됩니다.
수정들어가실때에 업데이트문을 타는것같은데요 증상이 그런문제가 코드를 천천히 보지않는이상 오류를 잡아내기 힘들기때문에 보통 업데이트 구문이나 인설트 구문 삭제구문들은 따로 페이지를 만들어서 하는데.
코드를 천천히 살펴보셔야 하겟지말입니다~
그소스 그대로 읽으면 만약에
$update_href 라는 변수가 있을시 li를 출력하라 (이게 수정이라는 그버튼 보이게하라는겁니다.)
그런데 대충느낌이 $update_href 여기에 업데이트 소스가 담겨진 페이주소일거같은데 수정을 누를시 글로가네요
소스를볼수잇다면 좋겟지만.. 먼가 저도 답답하네영 ㅋㅋ
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
if (!$is_admin) {
$site_msg = "작업신청해주셔서 감사합니다. 빠른시간내에 연락처로 연락 드리겠습니다.";
alert($site_msg, G5_URL);
exit;
}
?>
<link rel="stylesheet" href="<?php echo $board_skin_url ?>/style.apply.css">
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
<!-- 게시물 읽기 시작 { -->
<!--<h2 id="container_title"><?php echo $board['bo_subject'] ?><span class="sound_only"> 목록</span></h2>-->
<!--<div id="bo_v_table"><?php echo $board['bo_subject']; ?></div>-->
<article id="bo_v" style="width:<?php echo $width; ?>">
<header>
<h1 id="bo_v_title">
<?php
//if ($category_name) echo $view['ca_name'].' | '; // 분류 출력 끝
//echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력
?>
</h1>
</header>
<div class="tbl_frm01 tbl_wrap">
<table>
<tbody>
<tr>
<th>진행상황</th>
<td colspan="3"><?php echo $view['wr_6'] ?></td>
</tr>
<tr>
<th style="word-spacing:1pt;">오버워치 계정</th>
<td colspan="3"><?php echo $view['wr_2'] ?></td>
</tr>
<tr>
<th>신청자 명</th>
<td><?php echo $view['wr_name'] ?></td>
</tr>
<tr>
<th>현재점수</th>
<td colspan="3"><?php echo $view['wr_1'] ?></td>
</tr>
<tr>
<th>작업종류</th>
<td colspan="3"><?php echo $view['wr_5'] ?></td>
</tr>
<tr>
<th>목표점수</th>
<td colspan="3"><?php echo $view['wr_9'] ?></td>
</tr>
<tr>
<th>연락처</th>
<td><?php echo $view['wr_3'] ?></td>
</tr>
<tr>
<th>거래방식</th>
<td><?php echo $view['wr_7'] ?></td>
</tr>
<?php for ($i=1; $i<=G5_LINK_COUNT; $i++) { ?>
<?php
// 링크
$cnt = 0;
for ($i=1; $i<=count($view['link']); $i++) {
if ($view['link'][$i]) {
$cnt++;
$link = cut_str($view['link'][$i], 70);
?>
<tr>
<th scope="row">참조사이트 <?php echo $i ?></th>
<td>
<a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
<img src="<?php echo $board_skin_url ?>/img/icon_link.gif" alt="참조사이트">
<strong><?php echo $link ?></strong>
</a>
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
<?php
}
}
?></td>
</tr>
<?php } ?>
<tr>
<th scope="row"><label for="wr_content">참고내용<strong class="sound_only">필수</strong></label></th>
<td class="wr_content">
<?php
// 파일 출력
$v_img_count = count($view['file']);
if($v_img_count) {
echo "<div id=\"bo_v_img\">\n";
for ($i=0; $i<=count($view['file']); $i++) {
if ($view['file'][$i]['view']) {
//echo $view['file'][$i]['view'];
echo get_view_thumbnail($view['file'][$i]['view']);
}
}
echo "</div>\n";
}
?>
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
<?php//echo $view[rich_content]; // 과 같은 코드를 사용할 경우 ?>
<!-- } 본문 내용 끝 -->
</td>
</tr>
</tbody>
</table>
</div>
<!-- 게시물 상단 버튼 시작 { -->
<div id="bo_v_top">
<?php
ob_start();
?>
<?php if ($prev_href || $next_href) { ?>
<ul class="bo_v_nb">
<?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01">이전글</a></li><?php } ?>
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01">다음글</a></li><?php } ?>
</ul>
<?php } ?>
<ul class="bo_v_com">
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01">수정</a></li><?php } ?>
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01" onclick="del(this.href); return false;">삭제</a></li><?php } ?>
<?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">복사</a></li><?php } ?>
<?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">이동</a></li><?php } ?>
<?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>" class="btn_b01">검색</a></li><?php } ?>
<li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li>
<?php if ($reply_href) { ?><li><a href="<?php echo $reply_href ?>" class="btn_b01">답변</a></li><?php } ?>
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
</ul>
<?php
$link_buttons = ob_get_contents();
ob_end_flush();
?>
</div>
<!-- } 게시물 상단 버튼 끝 -->
</article>
<!-- } 게시판 읽기 끝 -->
<script>
<?php if ($board['bo_download_point'] < 0) { ?>
$(function() {
$("a.view_file_download").click(function() {
var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
if(confirm(msg)) {
var href = $(this).attr("href")+"&js=on";
$(this).attr("href", href);
return true;
} else {
return false;
}
});
});
<?php } ?>
function board_move(href)
{
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
}
</script>
<script>
$(function() {
$("a.view_image").click(function() {
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
return false;
});
// 추천, 비추천
$("#good_button, #nogood_button").click(function() {
var $tx;
if(this.id == "good_button")
$tx = $("#bo_v_act_good");
else
$tx = $("#bo_v_act_nogood");
excute_good(this.href, $(this), $tx);
return false;
});
// 이미지 리사이즈
$("#bo_v_atc").viewimageresize();
});
function excute_good(href, $el, $tx)
{
$.post(
href,
{ js: "on" },
function(data) {
if(data.error) {
alert(data.error);
return false;
}
if(data.count) {
$el.find("strong").text(number_format(String(data.count)));
if($tx.attr("id").search("nogood") > -1) {
$tx.text("이 글을 비추천하셨습니다.");
$tx.fadeIn(200).delay(2500).fadeOut(200);
} else {
$tx.text("이 글을 추천하셨습니다.");
$tx.fadeIn(200).delay(2500).fadeOut(200);
}
}
}, "json"
);
}
</script>
<!-- } 게시글 읽기 끝 -->
이게 view.skin.php 부분이에요!
!-->
답변을 작성하시기 전에 로그인 해주세요.