list.skin.php에서 바로 작성하려고 합니다.
본문
로그인된 상태에서 list.skin.php에서 글을 바로 작성하려고 합니다. 입력폼 아래에 바로바로 노출하려고 합니다.
아래 소스를 이용하려고 하는데 올바른 방법으로 사용해서 라는 메시지만 출력이 됩니다
어떻게 수정해야 할까요 도와 주세요.
list.skin.php 와 list_update.skin.php 소스 입니다. 부탁드립니다.
list.skin.php 소스
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>
<h2 id="container_title"><?php echo $board['bo_subject'] ?><span class="sound_only"> 목록</span></h2>
<!-- 게시판 목록 시작 { -->
<div id="bo_list" style="width:<?php echo $width; ?>">
<!-- 리스트 등록 -->
<? if($is_admin){ ?>
<div style="height:10px;"></div>
<table width="100%" align="center" border=0 cellspacing=0 cellpadding=0 class="table1">
<form name="fwrite" method="post" action="./write_update.php">
<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_content value="내용">
<tr class="trtd1 jm_head">
<td>제품명</td>
<td>코드</td>
<td>크기</td>
<td>수량</td>
<td>판매여부</td>
<td>등록</td>
</tr>
<tr class="trtd1 jm_center">
<td><input required class='frm_input required' style="width:120px;" name=wr_subject id="wr_subject"></td>
<td><input class='frm_input' style="width:60px;" name=wr_1 id="wr_1"></td>
<td><input class='frm_input' style="width:60px;" name=wr_2 id="wr_2"></td>
<td><input class='frm_input' style="width:60px;" name=wr_3 id="wr_3"></td>
<td>
<select name="wr_4" class='frm_input'>
<option value="판매가능">판매가능</option>
<option value="판매완료">판매완료</option>
</select>
</td>
<td><li><input type="submit" value="글쓰기" id="btn_submit" accesskey="s" class="btn_submit"></li></td>
</tr>
</form>
</table>
<div style="height:10px;"></div>
<? } ?>
<!-- 게시판 카테고리 시작 { -->
<?php if ($is_category) { ?>
<nav id="bo_cate">
<h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
<ul id="bo_cate_ul">
<?php echo $category_option ?>
</ul>
</nav>
<?php } ?>
<!-- } 게시판 카테고리 끝 -->
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
<div class="bo_fx">
<div id="bo_list_total">
<span>Total <?php echo number_format($total_count) ?>건</span>
<?php echo $page ?> 페이지
</div>
<?php if ($rss_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01">RSS</a></li><?php } ?>
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin">관리자</a></li><?php } ?>
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
</ul>
<?php } ?>
</div>
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<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="sca" value="<?php echo $sca ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
<div class="tbl_head01 tbl_wrap">
<table>
<caption><?php echo $board['bo_subject'] ?> 목록</caption>
<thead>
<tr>
<th scope="col">번호</th>
<?php if ($is_checkbox) { ?>
<th scope="col">
<label for="chkall" class="sound_only">현재 페이지 게시물 전체</label>
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
</th>
<?php } ?>
<th scope="col">제품명</th>
<th scope="col">코드</th>
<th scope="col">크기</th>
<th scope="col">수량</th>
<th scope="col">판매여부</th>
<?php if ($is_good) { ?><th scope="col"><?php echo subject_sort_link('wr_good', $qstr2, 1) ?>추천</a></th><?php } ?>
<?php if ($is_nogood) { ?><th scope="col"><?php echo subject_sort_link('wr_nogood', $qstr2, 1) ?>비추천</a></th><?php } ?>
</tr>
</thead>
<tbody>
<input type='hidden' name='chk' value='<?=count($list)?>'>
<?php
for ($i=0; $i<count($list); $i++) {
if($is_admin){ // 관리자는 별도로 수정 할 수 있게
?>
n
<input type='hidden' name='wr_id_up[<?php echo $i; ?>]' value='<?php echo $list[$i]['wr_id']; ?>'>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
<td class="td_num">
<?php
if ($list[$i]['is_notice']) // 공지사항
echo '<strong>공지</strong>';
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo "<a href='" . G5_BBS_URL . "/write.php?w=u&bo_table=" . htmlspecialchars($bo_table) . "&wr_id=" . htmlspecialchars($list[$i]['wr_id']) . htmlspecialchars($qstr) . "'>" . htmlspecialchars($list[$i]['num']) . "</a>";
?>
</td>
<?php if ($is_checkbox) { ?>
<td class="td_chk">
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</td>
<?php } ?>
<td class="td_subject">
<?php
echo $list[$i]['icon_reply'];
if ($is_category && $list[$i]['ca_name']) {
?>
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
<?php } ?>
<input type="text" name="wr_subject[<?php echo $i ?>]" value="<?php echo $list[$i]['subject'] ?>" id="wr_subject" required class="frm_input required" style="width:100%;">
</td>
<td class="td_num"><input type="text" name="wr_1[<?php echo $i ?>]" value="<?php echo $list[$i]['wr_1'] ?>" id="wr_1" class="frm_input" style="width:100%;"></td>
<td class="td_num"><input type="text" name="wr_2[<?php echo $i ?>]" value="<?php echo $list[$i]['wr_2'] ?>" id="wr_2" class="frm_input" style="width:100%;"></td>
<td class="td_num"><input type="text" name="wr_3[<?php echo $i ?>]" value="<?php echo $list[$i]['wr_3'] ?>" id="wr_3" class="frm_input" style="width:100%;"></td>
<td class="td_num">
<select name="wr_4[<?php echo $i ?>]" class='frm_input'>
<option value="판매가능" <?php echo ($list[$i]['wr_4'] == "판매가능")?"selected":"";?>>판매가능</option>
<option value="판매완료" <?php echo ($list[$i]['wr_4'] == "판매완료")?"selected":"";?>>판매완료</option>
</select>
</td>
<?php if ($is_good) { ?><td class="td_num"><?php echo $list[$i]['wr_good'] ?></td><?php } ?>
<?php if ($is_nogood) { ?><td class="td_num"><?php echo $list[$i]['wr_nogood'] ?></td><?php } ?>
</tr>
<?php }else{ ?>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
<td class="td_num">
<?php
if ($list[$i]['is_notice']) // 공지사항
echo '<strong>공지</strong>';
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['num'];
?>
</td>
<?php if ($is_checkbox) { ?>
<td class="td_chk">
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</td>
<?php } ?>
<td class="td_subject">
<?php
echo $list[$i]['icon_reply'];
if ($is_category && $list[$i]['ca_name']) {
?>
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
<?php } ?>
<?php echo $list[$i]['subject'] ?>
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
<?php
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret'];
?>
</td>
<td class="td_num"><?php echo $list[$i]['wr_1'] ?></td>
<td class="td_num"><?php echo $list[$i]['wr_2'] ?></td>
<td class="td_num"><?php echo $list[$i]['wr_3'] ?></td>
<td class="td_num"><? if ($list[$i]['wr_4'] == "판매완료") { ?><div class="jm_red" style="width:80px;">판매완료</div><? }else{ ?><div class="jm_purple" style="width:80px;">판매가능</div><? } ?></td>
<?php if ($is_good) { ?><td class="td_num"><?php echo $list[$i]['wr_good'] ?></td><?php } ?>
<?php if ($is_nogood) { ?><td class="td_num"><?php echo $list[$i]['wr_nogood'] ?></td><?php } ?>
</tr>
<?php } ?>
<?php } ?>
<?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
</tbody>
</table>
</div>
<?php if ($list_href || $is_checkbox || $write_href) { ?>
<div class="bo_fx">
<?php if ($is_checkbox) { ?>
<ul class="btn_bo_adm">
<li><input type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"></li>
<li><input type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"></li>
<li><input type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"></li>
</ul>
<?php } ?>
<?php if ($list_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li><?php } ?>
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
<li><a href="javascript:select_update();" class="btn_b02">전체수정</a></li>
</ul>
<?php } ?>
</div>
<?php } ?>
</form>
</div>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<!-- 페이지 -->
<?php echo $write_pages; ?>
<!-- 게시판 검색 시작 { -->
<fieldset id="bo_sch">
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>제목</option>
<option value="wr_content"<?php echo get_selected($sfl, 'wr_content'); ?>>내용</option>
<option value="wr_subject||wr_content"<?php echo get_selected($sfl, 'wr_subject||wr_content'); ?>>제목+내용</option>
<option value="mb_id,1"<?php echo get_selected($sfl, 'mb_id,1'); ?>>회원아이디</option>
<option value="mb_id,0"<?php echo get_selected($sfl, 'mb_id,0'); ?>>회원아이디(코)</option>
<option value="wr_name,1"<?php echo get_selected($sfl, 'wr_name,1'); ?>>글쓴이</option>
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="15">
<input type="submit" value="검색" class="btn_submit">
</form>
</fieldset>
<!-- } 게시판 검색 끝 -->
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
var f = document.fboardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]")
f.elements[i].checked = sw;
}
}
function fboardlist_submit(f) {
var chk_count = 0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택복사") {
select_copy("copy");
return;
}
if(document.pressed == "선택이동") {
select_copy("move");
return;
}
if(document.pressed == "선택삭제") {
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
return false;
f.removeAttribute("target");
f.action = "./board_list_update.php";
}
return true;
}
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
var f = document.fboardlist;
if (sw == "copy")
str = "복사";
else
str = "이동";
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
// 선택한 게시물 수정
function select_update() {
var f = document.fboardlist;
f.action = "<?php echo $board_skin_url ?>/list_update.skin.php";
f.submit();
}
</script>
<?php } ?>
<!-- } 게시판 목록 끝 -->
list_update.skin.php 소스
<?php
include_once("./_common.php");
//전체수정
for ($i=0; $i<$chk; $i++)
{
$wr_id = $_POST['wr_id_up'][$i];
$sql = " update {$write_table} set
wr_subject = '$wr_subject[$i]',
wr_1 = '$wr_1[$i]',
wr_2 = '$wr_2[$i]',
wr_3 = '$wr_3[$i]',
wr_4 = '$wr_4[$i]'
where wr_id = '$wr_id' ";
sql_query($sql);
}
alert("수정 되었습니다", G5_BBS_URL."/board.php?bo_table=$bo_table".$qstr);
?>
답변 1
올바른 방법으로 사용해서라는건 글쓰기시에 토큰 생성을 처리해 주는 부분이 정상적으로 반영이 안되어 그렇습니다.
common.js 파일에 get_write_token 함수의 게시판 bo_table 값이 제대로 전송이 되어 적용되어야 하는데 반영이 되는지 체크를 해보셔야 할듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.