다국어 관리자 메뉴 설정 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
다국어 관리자 메뉴 설정 질문

QA

다국어 관리자 메뉴 설정 질문

본문

다국어 사이트 제작중입니다. index_en.php 등 언어별 필요한 파일 생성과 게시판 분리해서 만드려고 합니다.

index.php와 index_en.php로 접속했을 때 보이는 메뉴를 다르게 하기 위해, 관리자 메뉴 설정에서 영어 메뉴 필드($me_name_en)까지는 추가했는데요.

한국어 메뉴/영어 메뉴 필요한 부분만 적으면 되겠다 싶었는데, 한국어 메뉴($me_name)가 빈 값인채로 확인을 누르면 메뉴 추가가 안되고 삭제돼버리더라구요.

어떻게 하면 접속 링크에 따라 언어별 메뉴가 보이게 할 수 있을까요??

 

 

adm/menu_list.php입니다.


if (!sql_query(" DESCRIBE {$g5['menu_table']} ", false)) {
    sql_query(
        " CREATE TABLE IF NOT EXISTS `{$g5['menu_table']}` (
                  `me_id` int(11) NOT NULL AUTO_INCREMENT,
                  `me_code` varchar(255) NOT NULL DEFAULT '',
                  `me_name` varchar(255) NOT NULL DEFAULT '',
                  `me_name_en` varchar(255) NOT NULL DEFAULT '',
                  `me_link` varchar(255) NOT NULL DEFAULT '',
                  `me_target` varchar(255) NOT NULL DEFAULT '0',
                  `me_order` int(11) NOT NULL DEFAULT '0',
                  `me_use` tinyint(4) NOT NULL DEFAULT '0',
                  `me_mobile_use` tinyint(4) NOT NULL DEFAULT '0',
                  PRIMARY KEY (`me_id`)
                ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ",
        true
    );
}
 
$sql = " select * from {$g5['menu_table']} order by me_id ";
$result = sql_query($sql);
 
$g5['title'] = "메뉴통합설정";
require_once './admin.head.php';
 
$colspan = 8;
$sub_menu_info = '';
?>
 
<div class="local_desc01 local_desc">
    <p><strong>주의!</strong> 메뉴설정 작업 후 반드시 <strong>확인</strong>을 누르셔야 저장됩니다.</p>
</div>
 
<form name="fmenulist" id="fmenulist" method="post" action="./menu_list_update.php" onsubmit="return fmenulist_submit(this);">
    <input type="hidden" name="token" value="">

 
    <div id="menulist" class="tbl_head01 tbl_wrap">
        <table>
            <caption><?php echo $g5['title']; ?> 목록</caption>
            <thead>
                <tr>
                    <th scope="col">한국어 메뉴</th>
                    <th scope="col">영어 메뉴</th>
                    <th scope="col">링크</th>
                    <th scope="col">새창</th>
                    <th scope="col">순서</th>
                    <th scope="col">PC사용</th>
                    <th scope="col">모바일사용</th>
                    <th scope="col">관리</th>
                </tr>
            </thead>
            <tbody>
                <?php
                for ($i = 0; $row = sql_fetch_array($result); $i++) {
                    $bg = 'bg' . ($i % 2);
                    $sub_menu_class = '';
                    if (strlen($row['me_code']) == 4) {
                        $sub_menu_class = ' sub_menu_class';
                        $sub_menu_info = '<span class="sound_only">' . $row['me_name'] . '의 서브</span>';
                        $sub_menu_info_en = '<span class="sound_only">' . $row['me_name_en'] . '의 서브</span>';
                        $sub_menu_ico = '<span class="sub_menu_ico"></span>';
                    }
 
                    $search  = array('"', "'");
                    $replace = array('"', ''');
                    $me_name = str_replace($search, $replace, $row['me_name']);
                    $me_name_en = str_replace($search, $replace, $row['me_name_en']);
                ?>
                    <tr class="<?php echo $bg; ?> menu_list menu_group_<?php echo substr($row['me_code'], 0, 2); ?>">
                        <td class="td_category<?php echo $sub_menu_class; ?>">
                            <input type="hidden" name="code[]" value="<?php echo substr($row['me_code'], 0, 2) ?>">
                            <label for="me_name_<?php echo $i; ?>" class="sound_only"><?php echo $sub_menu_info; ?><?php echo $me_name; ?></label>
                            <input type="text" name="me_name[]" value="<?php echo get_sanitize_input($me_name); ?>" id="me_name_<?php echo $i; ?>" class="tbl_input full_input" placeholder="한국어 메뉴">
                        </td>
                        <!-- 영어 메뉴 -->
                        <td class="td_category<?php echo $sub_menu_class; ?>">
                            <label for="me_name_en_<?php echo $i; ?>" class="sound_only"><?php echo $sub_menu_info_en; ?><?php echo $me_name_en; ?></label>
                            <input type="text" name="me_name_en[]" value="<?php echo get_sanitize_input($me_name_en); ?>" id="me_name_en_<?php echo $i; ?>" class="tbl_input full_input" placeholder="영어 메뉴">
                        </td>
                        <!-- 영어 메뉴 끝 -->
                        <td>
                            <label for="me_link_<?php echo $i; ?>" class="sound_only">링크<strong class="sound_only"> 필수</strong></label>
                            <input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>" required class="required tbl_input full_input">
                        </td>
                        <td class="td_mng">
                            <label for="me_target_<?php echo $i; ?>" class="sound_only">새창</label>
                            <select name="me_target[]" id="me_target_<?php echo $i; ?>">
                                <option value="self" <?php echo get_selected($row['me_target'], 'self', true); ?>>사용안함</option>
                                <option value="blank" <?php echo get_selected($row['me_target'], 'blank', true); ?>>사용함</option>
                            </select>
                        </td>
                        <td class="td_num">
                            <label for="me_order_<?php echo $i; ?>" class="sound_only">순서</label>
                            <input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>" class="tbl_input" size="5">
                        </td>
                        <td class="td_mng">
                            <label for="me_use_<?php echo $i; ?>" class="sound_only">PC사용</label>
                            <select name="me_use[]" id="me_use_<?php echo $i; ?>">
                                <option value="1" <?php echo get_selected($row['me_use'], '1', true); ?>>사용함</option>
                                <option value="0" <?php echo get_selected($row['me_use'], '0', true); ?>>사용안함</option>
                            </select>
                        </td>
                        <td class="td_mng">
                            <label for="me_mobile_use_<?php echo $i; ?>" class="sound_only">모바일사용</label>
                            <select name="me_mobile_use[]" id="me_mobile_use_<?php echo $i; ?>">
                                <option value="1" <?php echo get_selected($row['me_mobile_use'], '1', true); ?>>사용함</option>
                                <option value="0" <?php echo get_selected($row['me_mobile_use'], '0', true); ?>>사용안함</option>
                            </select>
                        </td>
                        <td class="td_mng">
                            <?php if (strlen($row['me_code']) == 2) { ?>
                                <button type="button" class="btn_add_submenu btn_03 ">추가</button>
                            <?php } ?>
                            <button type="button" class="btn_del_menu btn_02">삭제</button>
                        </td>
                    </tr>
                <?php
                }
 
                if ($i == 0) {
                    echo '<tr id="empty_menu_list"><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
                }
                ?>
            </tbody>
        </table>
    </div>
 
    <div class="btn_fixed_top">
        <button type="button" onclick="return add_menu();" class="btn btn_02">메뉴추가<span class="sound_only"> 새창</span></button>
        <input type="submit" name="act_button" value="확인" class="btn_submit btn ">
    </div>
 
</form>

 

이 질문에 댓글 쓰기 :

답변 1

menu_list_update.php

여기에서 데이터 잘 받는지, sql문은 잘 작성되고 있는지 검토를 우선 해보시는게 좋을 듯 해요

답변을 작성하시기 전에 로그인 해주세요.
전체 11
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT