여분필드 20개 만들었습니다.

여분필드 20개 만들었습니다.

QA

여분필드 20개 만들었습니다.

답변 5

본문

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 도 만들어서

 


<?php
if (!defined("_GNUBOARD_")) exit;
$sql = " update $write_table
            set wr_11 = '$wr_11',
                wr_12 = '$wr_12',
                wr_13 = '$wr_13',
                wr_14 = '$wr_14',
                wr_15 = '$wr_15',
                wr_16 = '$wr_16',
                wr_17 = '$wr_17',
                wr_18 = '$wr_18',
                wr_19 = '$wr_19',
                wr_20 = '$wr_20'
        where wr_id = '$wr_id' ";
sql_query($sql);
?>

 

도 추가했습니다.

 

문제는, 이 여분필드를 단순 input이 아닌,

cheditor5 를 모두 넣어 사용하고 있는데요.

 

wr_3 부터 wr_20 까지가 모두 에디터입니다.

이렇게요.

1966463495_1754494437.3542.png

 

wr_10 까지는 태그가 들어간 텍스트도 잘 저장되는데 wr_11부터 20까지는 단순 텍스트만 저장되고 태그가 들어간 걸 붙여넣기 하면 저장도 되지 않습니다.

 

뭐가 문젠지 도저히 모르겠습니다..

이 질문에 댓글 쓰기 :

답변 5

<tr>
    <th scope="row"><label for="wr_11">에디터2</label></th>
    <td class="wr_11">
        <?php echo editor_html("wr_11", $write['wr_11'], $is_dhtml_editor); ?>
    </td>
</tr>

그리고 

function fwrite_submit(f) 하단에 찾아서 안에다넣어주세요


<?php echo get_editor_js("wr_11"); ?>
<?php echo chk_editor_js("wr_11"); ?>

=====================================

확인후 12~20까찌 똑같이 처리해주시면됩니다.

 

아래 참고하시면되겠습니다.

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=14

말씀주신 내용 역시 이미 write.skin에 추가되어 있습니다.

 


        <?php for ($i = 3; $i <= 20; $i++) { ?>
            <div class="write_div">
                <p class="tb-title">추가입력 <?php echo $i ?></p>
                <?php echo editor_html("wr_{$i}", $write["wr_{$i}"], $is_dhtml_editor); ?>
            </div>
        <?php } ?>

 

필수입력은 빼고 싶어서 chk_editor_js 는 빼고

 


            <?php
            for ($i = 3; $i <= 10; $i++) {
                echo get_editor_js("wr_{$i}");
            }
            ?>

 

이렇게 들어가있는 상태입니다.

write.skin.php

function fwrite_submit(f)의 안에 아래 내용을 추가 후

<?php for ($i = 3; $i <= 20; $i++) { echo get_editor_js('wr_'.$i);echo chk_editor_js('wr_'.$i);}?>

 

write.skin.php 상단에 아래 내용을 추가하면 여분필드 3 ~ 20 까지 종류 varchar(255) 를 text 로 변경됨.


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
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>";
        }
    }
}

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,102
© SIRSOFT
현재 페이지 제일 처음으로