채택완료

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

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

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

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

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

 

 

adm/menu_list.php입니다.

Copy
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('&#034;', '&#039;');

                    $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개 / 댓글 1개

채택된 답변
+20 포인트

menu_list_update.php

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

답변에 대한 댓글 1개

menu_list_update.php에서

[code]
if (!$code || !$me_name || !$me_link) {
continue;
}
[/code]


[code]
if (!$code || !$me_link) {
continue;
}
[/code]
로 변경하니까 됐어요. 감사합니다!!

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