여분필드 20개 만들었습니다.
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31
참고하여 wr_11 부터 wr_20 까지 만들었구요.
phpmyadmin에 테이블 추가했고 bbs에서 writeupdate도 수정했습니다.
설정에서 글 작성시 DHTML 에디터 사용도 체크했습니다.
스킨폴더 내에 write_update.skin.php 도 만들어서
</p>
<p><?php</p>
<p>if (!defined("_GNUBOARD_")) exit;</p>
<p>$sql = " update $write_table</p>
<p> set wr_11 = '$wr_11',</p>
<p> wr_12 = '$wr_12',</p>
<p> wr_13 = '$wr_13',</p>
<p> wr_14 = '$wr_14',</p>
<p> wr_15 = '$wr_15',</p>
<p> wr_16 = '$wr_16',</p>
<p> wr_17 = '$wr_17',</p>
<p> wr_18 = '$wr_18',</p>
<p> wr_19 = '$wr_19',</p>
<p> wr_20 = '$wr_20'</p>
<p> where wr_id = '$wr_id' ";</p>
<p>sql_query($sql);</p>
<p>?></p>
<p>
도 추가했습니다.
문제는, 이 여분필드를 단순 input이 아닌,
cheditor5 를 모두 넣어 사용하고 있는데요.
wr_3 부터 wr_20 까지가 모두 에디터입니다.
이렇게요.
http://sir.kr/data/editor/2508/1966463495_1754494437.3542.png" width="100%" />
wr_10 까지는 태그가 들어간 텍스트도 잘 저장되는데 wr_11부터 20까지는 단순 텍스트만 저장되고 태그가 들어간 걸 붙여넣기 하면 저장도 되지 않습니다.
뭐가 문젠지 도저히 모르겠습니다..
답변 5개
혹시 넘기는 데이터가 너무 길어서 잘리는 거라면,
.htaccess 에 아래 소스를 추가해보세요. PHP_VALUE max_input_vars 50000
댓글을 작성하려면 로그인이 필요합니다.
write.skin.php
function fwrite_submit(f)의 안에 아래 내용을 추가 후
write.skin.php 상단에 아래 내용을 추가하면 여분필드 3 ~ 20 까지 종류 varchar(255) 를 text 로 변경됨.
</p>
<p><?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>if($is_admin == 'super') include_once($_SERVER['DOCUMENT_ROOT'].'/common.php');
if ($is_admin == 'super') {
for ($i = 3; $i <= 20; $i++) {
$col = "wr_{$i}";
$result = sql_query("SELECT COLUMN_TYPE FROM information_schema.COLUMNS WHERE TABLE_NAME='{$write_table}' AND COLUMN_NAME='{$col}' AND TABLE_SCHEMA='".G5_MYSQL_DB."'");
$row = mysqli_fetch_assoc($result);
if ($row['COLUMN_TYPE'] == 'varchar(255)') {
sql_query("ALTER TABLE `{$write_table}` CHANGE `{$col}` `{$col}` TEXT NOT NULL");
echo "<script>alert('{$col} varchar(255) => TEXT')</script>";
}
}
}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
echo get_editor_js("wr_{$i}"); <==이게 for문으로 i 값이 10 까지만 적용되니 10번 이후는 안되는 것입니다
for ($i = 3; $i <= 20; $i++) { <==이렇게 하세요
댓글을 작성하려면 로그인이 필요합니다.
말씀주신 내용 역시 이미 write.skin에 추가되어 있습니다.
</p>
<p> <?php for ($i = 3; $i <= 20; $i++) { ?></p>
<p> <div class="write_div"></p>
<p> <p class="tb-title">추가입력 <?php echo $i ?></p></p>
<p> <?php echo editor_html("wr_{$i}", $write["wr_{$i}"], $is_dhtml_editor); ?></p>
<p> </div></p>
<p> <?php } ?></p>
<p>
필수입력은 빼고 싶어서 chk_editor_js 는 빼고
</p>
<p> <?php</p>
<p> for ($i = 3; $i <= 10; $i++) {</p>
<p> echo get_editor_js("wr_{$i}");</p>
<p> }</p>
<p> ?></p>
<p>
이렇게 들어가있는 상태입니다.
댓글을 작성하려면 로그인이 필요합니다.
그리고
function fwrite_submit(f) 하단에 찾아서 안에다넣어주세요
=====================================
확인후 12~20까찌 똑같이 처리해주시면됩니다.
아래 참고하시면되겠습니다.
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=14
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인