테스트 사이트 - 개발 중인 베타 버전입니다

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

kpilot 3개월 전 조회 762

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개

e
3개월 전

혹시 넘기는 데이터가 너무 길어서 잘리는 거라면,

.htaccess 에 아래 소스를 추가해보세요. PHP_VALUE max_input_vars 50000

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

들레아빠
3개월 전

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>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3개월 전

echo get_editor_js("wr_{$i}"); <==이게 for문으로 i 값이 10 까지만 적용되니  10번 이후는 안되는 것입니다

 

 for ($i = 3; $i <= 20; $i++) {  <==이렇게 하세요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

k
3개월 전

말씀주신 내용 역시 이미 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>

 

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

웅푸
3개월 전

                   

그리고 

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

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

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

 

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

k
kpilot
3개월 전
말씀주신 내용 역시 이미 write.skin에 추가되어 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인