Files
dnssash/adm/rb/moduleformupdate.php
2026-06-11 18:47:38 +09:00

60 lines
1.9 KiB
PHP

<?php
$sub_menu = '000200';
include_once('./_common.php');
auth_check_menu($auth, $sub_menu, "w");
check_admin_token();
// 💡 [핵심 수정] w, md_id 등 GET/POST 양쪽으로 올 수 있는 값은 $_REQUEST로 받습니다.
$w = isset($_REQUEST['w']) ? $_REQUEST['w'] : '';
$md_id = isset($_REQUEST['md_id']) ? preg_replace('/[^0-9]/', '', $_REQUEST['md_id']) : '';
$table_name = (isset($_REQUEST['tables']) && $_REQUEST['tables']) ? $_REQUEST['tables'] : 'rb_module';
$qstr = isset($_REQUEST['qstr']) ? $_REQUEST['qstr'] : '';
if ($w == 'd') {
if ($is_admin != 'super') {
alert("최고관리자만 삭제할 수 있습니다.");
}
if (!$md_id) {
alert('모듈 ID가 없습니다.');
}
// 삭제
$sql = " DELETE FROM {$table_name} WHERE md_id = '{$md_id}' ";
sql_query($sql);
} else {
// 💡 [핵심 수정] 나머지 폼 데이터는 $_POST로 받아서 동적으로 SQL SET 구문을 생성합니다.
$sql_set_array = array();
foreach ($_POST as $key => $value) {
// w, md_id 등 이미 처리한 변수나 불필요한 변수는 건너뜁니다.
if (in_array($key, ['w', 'md_id', 'tables', 'qstr', 'token'])) {
continue;
}
$sql_set_array[] = " {$key} = '" . sql_real_escape_string(trim($value)) . "' ";
}
// 공통으로 추가할 필드
$sql_set_array[] = " md_datetime = '".G5_TIME_YMDHIS."' ";
$sql_set_array[] = " md_ip = '{$_SERVER['REMOTE_ADDR']}' ";
$sql_set = implode(', ', $sql_set_array);
if ($w == 'u') {
if (!$md_id) {
alert('모듈 ID가 없습니다.');
}
// 수정
$sql = " UPDATE {$table_name} SET {$sql_set} WHERE md_id = '{$md_id}' ";
sql_query($sql);
} else {
// 생성
$sql = " INSERT INTO {$table_name} SET {$sql_set} ";
sql_query($sql);
}
}
goto_url("./module_list.php?tables=$table_name&amp;$qstr");
?>