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

글쓰기 소스에서 gen_single_selectbox의 Array값 관련

슈퍼래빗 7년 전 조회 4,170

안녕하세요.

 

온라인상담 게시판 스킨을 적용하였는데 문의게시글별 상담상태값으로 접수, 상담완료 등의 이미지 표시해주는 기능에서 이미지가 X표시로 보이고 이미지 주소는 [/skin/board/counsel/img/.gif] 로 이미지 파일명이 인식이 안되서 [img/.gif] 로 되어 있는거 같아서 이 부분의 해결방법이 궁금합니다.

 

감사합니다.

 

스킨 등록 게시글 제목 : 그누보드용 온라인상담 보드스킨

스킨 등록 게시글 주소 : https://sir.kr/g5_skin/14382?sfl=wr_subject%7C%7Cwr_content&stx=%EC%83%81%EB%8B%B4">https://sir.kr/g5_skin/14382?sfl=wr_subject%7C%7Cwr_content&stx=%EC%83%81%EB%8B%B4

 

list.skin.php 파일 소스코드

해결희망부분 소스코드

</p>

<p><?php if ($is_effect) { ?><td class="td_num"><img src="<?php echo $board_skin_url; ?>/img/<?php echo $list[$i]['effect']; ?>.gif"></td><?php } ?></p>

<p>

 

전체 소스코드

</p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>$is_effect = (isset($csconfig['cf_effect']) && $csconfig['cf_effect']) ? true : false;</p>

<p>// 선택옵션으로 인해 셀합치기가 가변적으로 변함

$colspan = 5;</p>

<p>if ($is_checkbox) $colspan++;

if ($is_good) $colspan++;

if ($is_nogood) $colspan++;

if ($is_effect) $colspan++;

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);

?></p>

<p><!-- 게시판 목록 시작 { -->

<div id="bo_list" style="width:<?php echo $width; ?>"></p>

<p>    <!-- 게시판 카테고리 시작 { -->

    <?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 } ?>

    <!-- } 게시판 카테고리 끝 --></p>

<p>    <!-- 게시판 페이지 정보 및 버튼 시작 { -->

    <div class="bo_fx">

        <div id="bo_list_total">

            <span>Total <?php echo number_format($total_count) ?>건</span>

            <?php echo $page ?> 페이지

        </div></p>

<p>        <?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">1:1 문의하기</a></li><?php } ?>

        </ul>

        <?php } ?>

    </div>

    <!-- } 게시판 페이지 정보 및 버튼 끝 --></p>

<p>    <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="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="sw" value=""></p>

<p>    <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"><?php echo subject_sort_link('wr_datetime', $qstr2, 1) ?>날짜</a></th>

            <th scope="col"><?php echo subject_sort_link('wr_hit', $qstr2, 1) ?>조회</a></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 } ?>

   <?php if ($is_effect) { ?><th scope="col"><?php echo subject_sort_link('effect', $qstr2, 1) ?>결과</a></th><?php } ?>

        </tr>

        </thead>

        <tbody>

        <?php

        for ($i=0; $i<count($list); $i++) {

         ?>

        <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 } ?></p>

<p>                <a href="<?php echo $list[$i]['href'] ?>">

                    <?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 } ?>

                </a></p>

<p>                <?php

                // if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }

                // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }</p>

<p>                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'];</p>

<p>                 ?>

            </td>

            <td class="td_name sv_use"><?php echo $list[$i]['name'] ?></td>

            <td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>

            <td class="td_num"><?php echo $list[$i]['wr_hit'] ?></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 } ?>

   <?php if ($is_effect) { ?><td class="td_num"><img src="<?php echo $board_skin_url; ?>/img/<?php echo $list[$i]['effect']; ?>.gif"></td><?php } ?>

        </tr>

        <?php } ?>

        <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>

        </tbody>

        </table>

    </div></p>

<p>    <?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 } ?></p>

<p>        <?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">1:1 문의하기</a></li><?php } ?>

        </ul>

        <?php } ?>

    </div>

    <?php } ?>

    </form>

</div></p>

<p><?php if($is_checkbox) { ?>

<noscript>

<p>자바스크립트를 사용하지 않는 경우
별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>

</noscript>

<?php } ?></p>

<p><!-- 페이지 -->

<?php echo $write_pages;  ?></p>

<p><!-- 게시판 검색 시작 { -->

<fieldset id="bo_sch">

    <legend>게시물 검색</legend></p>

<p>    <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="20">

    <input type="submit" value="검색" class="btn_submit">

    </form>

</fieldset>

<!-- } 게시판 검색 끝 --></p>

<p><?php if ($is_checkbox) { ?>

<script>

function all_checked(sw) {

    var f = document.fboardlist;</p>

<p>    for (var i=0; i<f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]")

            f.elements[i].checked = sw;

    }

}</p>

<p>function fboardlist_submit(f) {

    var chk_count = 0;</p>

<p>    for (var i=0; i<f.length; i++) {

        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)

            chk_count++;

    }</p>

<p>    if (!chk_count) {

        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");

        return false;

    }</p>

<p>    if(document.pressed == "선택복사") {

        select_copy("copy");

        return;

    }</p>

<p>    if(document.pressed == "선택이동") {

        select_copy("move");

        return;

    }</p>

<p>    if(document.pressed == "선택삭제") {

        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))

            return false;</p>

<p>        f.removeAttribute("target");

        f.action = "./board_list_update.php";

    }</p>

<p>    return true;

}</p>

<p>// 선택한 게시물 복사 및 이동

function select_copy(sw) {

    var f = document.fboardlist;</p>

<p>    if (sw == "copy")

        str = "복사";

    else

        str = "이동";</p>

<p>    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");</p>

<p>    f.sw.value = sw;

    f.target = "move";

    f.action = "./move.php";

    f.submit();

}

</script>

<?php } ?>

<!-- } 게시판 목록 끝 --></p>

<p>

 

 

write.step2.skin.php 파일 소스코드

해결희망부분 소스코드

</p>

<p><?php if ($w && $is_admin && $csconfig['cf_effect']) { ?>

  <tr>

   <th scope="row"><label for="effect">결과</label></th>

   <td>

    <?php gen_single_selectbox("",'cf_effect',Array("접수중","접수완료","접수취소"),Array("0","1","2"),$write['effect'],'',2); ?></p>

<p>

 

해결희망부분이 포함된 일부 소스코드

</p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

?></p>

<p>    <!-- 게시물 작성/수정 시작 { -->

    <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 ?>">

    <?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>';

        }</p>

<p>        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>';

            }

        }</p>

<p>        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">';

            }

        }</p>

<p>        if ($is_mail) {

            $option .= "\n".'<input type="checkbox" id="mail" name="mail" value="mail" '.$recv_email_checked.'>'."\n".'<label for="mail">답변메일받기</label>';

        }

    }</p>

<p>    echo $option_hidden;

    ?></p>

<p> <?php if (!$w && $csconfig['cf_agree'] == "2") { ?>

 <p>온라인상담 내용에 동의하셔야 상담 하실 수 있습니다.</p>

    <section id="fregister_term">

        <h2>온라인상담약관</h2>

        <textarea readonly><?php echo get_text($csconfig['cf_stipulation']) ?></textarea>

        <fieldset class="fregister_agree">

            <label for="agree">온라인상담약관의 내용에 동의합니다.</label>

            <input type="checkbox" name="agree" value="1" id="agree">

        </fieldset>

    </section>

 <?php } ?></p>

<p>    <div class="tbl_frm01 tbl_wrap">

        <table>

        <tbody>

  <?php if ($w && $is_admin && $csconfig['cf_effect']) { ?>

  <tr>

   <th scope="row"><label for="effect">결과</label></th>

   <td>

    <?php gen_single_selectbox("",'cf_effect',Array("접수중","접수완료","접수취소"),Array("0","1","2"),$write['effect'],'',2); ?>

   </td></p>

<p>     if($csconfig[$fvs]=='1' || $csconfig[$fvs]=='2'){

      if($csconfig[$fvs]=='2') { $needstr = '<strong class="sound_only">필수</strong>'; $required = 'required '; }

      else { $needstr = ''; $required = ''; }</p>

<p>      echo '<tr>

       <th scope="row"><label for="ca_name">'.$mdatas[$fvs]['iname'].$needstr.'</label></th>

       <td></p>

<p>

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

답변 3개

  <?php gen_single_selectbox("",'cf_effect',Array("접수중","접수완료","접수취소"),Array("0","1","2"),$write['effect'],'',2); 이거 보니까 

배열이 이런식으로 하면 안되요 배열 선언부터 잘못됐어여

 

예를들어서 밑에처럼 해야되요

$arr = array(0=>"접수중") 

 

gen_single_selectbox 함수에 인자값이 잘못 적용됐어여

기초공부 다시 하셔야될것같은...

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

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

그리고 print_r로 해서 해당된 배열이 어떻게 뽑아오는지 확인부터 하셔야될것같아요 배열이 잘못 출력되서 에러가 날수도있어요

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

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

$list[$i]['effect'] 이게 정확히 명칭이 나와요? 이름이 어떻게 나오는지 봐야될것같은데 이름부분에서 안되는건지아님 경로 인지 아니면 저장소 문제인지 여러가지를 생각해봐야될것같아요 데이터를 가공해서 출력되는부분에서도 문제있을수있어요

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

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

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

로그인