관리자 페이지에서 테이블 추가 후 별도의 정보입력 페이지 만들기

관리자 페이지에서 테이블 추가 후 별도의 정보입력 페이지 만들기

QA

관리자 페이지에서 테이블 추가 후 별도의 정보입력 페이지 만들기

본문

고등학생들이 이용하는 대학 수능점수 반영방법을 계산하는 페이지를 만들고 있습니다.

회원의 수능점수를 member_form에 추가하고 그 값을 불러와 자동으로계산하게 하려고 합니다.

여분필드 아래쪽으로 다음과 같이 추가하고 db에 저장하는데 까지 성공해 저장된 값도 잘 불러와지고 있습니다. 추가한 정보는 선택과목명, 표준점수, 백분위, 등급 입니다. 값을 불러올 때는 <?php echo ($member['mb_000']) ?> 을 이용하고 있고요,,

 

<?php
$sub_menu = "200100";
include_once('./_common.php');

auth_check($auth[$sub_menu], 'w');

if ($w == '')
{
    $required_mb_id = 'required';
    $required_mb_id_class = 'required alnum_';
    $required_mb_password = 'required';
    $sound_only = '<strong class="sound_only">필수</strong>';

    $mb['mb_mailling'] = 1;
    $mb['mb_open'] = 1;
    $mb['mb_level'] = $config['cf_register_level'];
    $html_title = '추가';
}
else if ($w == 'u')
{
    $mb = get_member($mb_id);
    if (!$mb['mb_id'])
        alert('존재하지 않는 회원자료입니다.');

    if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
        alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');

    $required_mb_id = 'readonly';
    $required_mb_password = '';
    $html_title = '수정';

    $mb['mb_name'] = get_text($mb['mb_name']);
    $mb['mb_nick'] = get_text($mb['mb_nick']);
    $mb['mb_email'] = get_text($mb['mb_email']);
    $mb['mb_homepage'] = get_text($mb['mb_homepage']);
    $mb['mb_birth'] = get_text($mb['mb_birth']);
    $mb['mb_tel'] = get_text($mb['mb_tel']);
    $mb['mb_hp'] = get_text($mb['mb_hp']);
    $mb['mb_addr1'] = get_text($mb['mb_addr1']);
    $mb['mb_addr2'] = get_text($mb['mb_addr2']);
    $mb['mb_addr3'] = get_text($mb['mb_addr3']);
    $mb['mb_signature'] = get_text($mb['mb_signature']);
    $mb['mb_recommend'] = get_text($mb['mb_recommend']);
    $mb['mb_profile'] = get_text($mb['mb_profile']);
    $mb['mb_1'] = get_text($mb['mb_1']);
    $mb['mb_2'] = get_text($mb['mb_2']);
    $mb['mb_3'] = get_text($mb['mb_3']);
    $mb['mb_4'] = get_text($mb['mb_4']);
    $mb['mb_5'] = get_text($mb['mb_5']);
    $mb['mb_6'] = get_text($mb['mb_6']);
    $mb['mb_7'] = get_text($mb['mb_7']);
    $mb['mb_8'] = get_text($mb['mb_8']);
    $mb['mb_9'] = get_text($mb['mb_9']);
    $mb['mb_10'] = get_text($mb['mb_10']);
    $mb['mb_11'] = get_text($mb['mb_11']);
    $mb['mb_kohisgr'] = get_text($mb['mb_kohisgr']);
    $mb['mb_korgr'] = get_text($mb['mb_korgr']);
    $mb['mb_mathgr'] = get_text($mb['mb_mathgr']);
    $mb['mb_enggr'] = get_text($mb['mb_enggr']);
    $mb['mb_such1gr'] = get_text($mb['mb_such1gr']);
    $mb['mb_such2gr'] = get_text($mb['mb_such2gr']);
    $mb['mb_foringr'] = get_text($mb['mb_foringr']);
    $mb['mb_korper'] = get_text($mb['mb_korper']);
    $mb['mb_mathper'] = get_text($mb['mb_mathper']);
    $mb['mb_such1per'] = get_text($mb['mb_such1per']);
    $mb['mb_such2per'] = get_text($mb['mb_such2per']);
    $mb['mb_korstdsco'] = get_text($mb['mb_korstdsco']);
    $mb['mb_mathstdsco'] = get_text($mb['mb_mathstdsco']);
    $mb['mb_such1stdsco'] = get_text($mb['mb_such1stdsco']);
    $mb['mb_such2stdsco'] = get_text($mb['mb_such2stdsco']);
    $mb['mb_korsubcho'] = get_text($mb['mb_korsubcho']);
    $mb['mb_mathsubcho'] = get_text($mb['mb_msthsubcho']);
    $mb['mb_such1subcho'] = get_text($mb['mb_such1subcho']);
    $mb['mb_such2subcho'] = get_text($mb['mb_such2subcho']);
    $mb['mb_forinsubcho'] = get_text($mb['mb_forinsubcho']);
}

 

그런데, 지금은 이 값을 저장하거나 수정하기 위해선 register_form을 이용해야 합니다.

회원가입 때 입력하고나 나중에 회원정보 수정으로 들어가야 하는 것이죠..

이 정보들을 회원정보 수정이 아닌 별도의 페이지를 만들어 관리하고 싶은데

방법을 모르겠습니다.

고수님들의 도움 부탁드립니다. 꾸~~~벅...

이 질문에 댓글 쓰기 :

답변 6

이 정보들을 회원정보 수정이 아닌 별도의 페이지를 만들어 관리하고 싶은데 방법을 모르겠습니다....

===

파일을 복사하시고

필요한 것만 남기고 나머지는 빼버리면 되지 않을까요

bbs/register_form.php
bbs/register_form_update.php
/skin/member/basic/register_form.skin.php
이 세 파일을 이름만 바꾼 쌍둥이 파일을 만들고 부분 부분 경로에 맞게 조절하는 것으로 해결했습니다! 전에도 같은 방법으로 시도했었는데 로그인 정보 때문에 직접 들어갈 수 없었던 거였네요.
/skin/member/basic/register_000form.skin.php에서 입력양식을 바꾸고 회원이 직접 입력하게 하니 자동으로 db에 저장되어 adm/member_form.php에 만든 테이블에서 확인할 수 있었고 회원들은 재입력 할 필요 없이 불러올 수 있게 되었습니다.


대학 수능점수 반영방법을 계산하는 ...
==
이부분은 대학마다 반영방법이나 비율이 달라 복잡할 뿐, 전부터 엑셀로 만들어 작업하던 수식들이 있어 입력된 셀 값을 바탕으로 스크립트로 바꾸는데 어려움은 없었습니다.

회원정보 수정말고 관리자 메뉴를 별도로 만들어서 수능정보를 별도 관리하는 페이지를 만들어서 해당 페이지에서 입력 받아서 등록 수정하시면 될듯 보입니다.

다만 회원정보를 가져와야 매칭해서 수정이 되는점 참고해 주세요

 

해당 수능정보는 회원정보 페이지로 처리될 부분은 아닌듯 합니다.

 

위 부분에 대해 페이지 생성이나 등록관리 부분을 모르시다면 제작의뢰로 요청하시는게 맞을듯 합니다.

별도 페이지? 음....일단.

admin.menu200.php 파일을열어서 메뉴를추가해주면됩니다.

    array('200000', '회원관리', G5_ADMIN_URL . '/member_list.php', 'member'),

    array('200100', '회원관리', G5_ADMIN_URL . '/member_list.php', 'mb_list'),

    array('200110', '별도회원관리', G5_ADMIN_URL . '/별도화원관리.php', 'mb_list'),

 

그리고 현재 페이지  별도회원관리.php 파일 에서 메뉴식별번호 추가된 넘버와 똑같이 해주면 됩니다. 화이팅!~

<?php
$sub_menu = "200110";
include_once('./_common.php');

auth_check($auth[$sub_menu], 'w');

if ($w == '')

이하 생략

메뉴생성은 전에 말씀하신대로 시도하던중 관리자 페이지의 메뉴가 없어도 정보들만 db에 전송되면 되는 문제라 없어도 되겠더군요. 회원정보는 회원가입 페이지 register_form.php에서 이루어지니 /bbs에 별도의 페이지(예로 register_gradeform.php 와 register_gradeform_update.php)를  만들고 include_once($member_skin_path.'/register_gradeform.skin.php'); 했는데 읽어지지 않고 index페이지로 돌아가 버리네요.

회원가입 페이지 register_form.php에서 이루어지니 /bbs에 별도의 페이지(예로 register_gradeform.php 와 register_gradeform_update.php)를  만들고 <===회원가입 페이지에 만들어서는 안됩니다

 

register_gradeform.php/register_gradeform_update.php를 어떻게 만들었는지 모르겟으나

adm폴더에 넣고 adm/member_form.php화일에서 include하면 됩니다

그렇게 해야 관리자가 회원마다 등록/수정 하기가 되죠

include_once('register_gradeform.skin.php'); 

 

 

 

 

감사합니다. ^ㅡ^ 알듯말듯 알쏭달쏭 한데 adm에 넣는다는 생각을 안해봤네요. 시도해보고 좀 더 연구해 봐야겠습니다. 현재 adm/member_form.php에 테이블이 만들어져 관리자는 등록/수정에 전혀 문제가 없습니다만 회원이 입력하는 별도 페이지를 어떡해야 하는지를 해결하지 못하고 있습니다. 회원 가입시 받는 방법으로 정상적 작동하나 회원정보 페이지와 분리하고 싶어 이런 생각을 하게 되었습니다.

관리자가 아니라 회원이 자기 점수를 등록/수정한다는 말이군요
회원스킨 폴더(skin/member/basic)에 넣어서 사용하면 됩니다
register_gradeform_update.php ==> register_form_update.tail.skin.php 화일명 변경

include_once($member_skin_path.'/register_gradeform.skin.php'); <==이것만 include하면
위에서 이름변경한 화일은 회원 가입/수정 후 자동으로 include 적용 됩니다

include 하여 사용하는 화일은 include_once('./_common.php')는 필요 없으며
실제 실행될 내용만 넣으면 됩니다

전체적인 소스코드를 확인할 수 없지만 대략적으로 다음과 같이 시도해 볼 수 있을 것 같습니다.

 


// 대학 수능점수 입력 폼을 추가합니다.
<?php if ($w == '' || $w == 'u') { ?>
<div class="tbl_frm01 tbl_wrap">
    <table>
        <caption>대학 수능점수 입력</caption>
        <colgroup>
            <col class="grid_4">
            <col>
        </colgroup>
        <tbody>
            <tr>
                <th scope="row">선택과목명</th>
                <td><input type="text" name="subject_name" value="<?php echo $member['subject_name']; ?>"></td>
            </tr>
            <tr>
                <th scope="row">표준점수</th>
                <td><input type="text" name="standard_score" value="<?php echo $member['standard_score']; ?>"></td>
            </tr>
            <tr>
                <th scope="row">백분위</th>
                <td><input type="text" name="percentile" value="<?php echo $member['percentile']; ?>"></td>
            </tr>
            <tr>
                <th scope="row">등급</th>
                <td><input type="text" name="grade" value="<?php echo $member['grade']; ?>"></td>
            </tr>
        </tbody>
    </table>
</div>
<?php } ?>
// member_form_update.php 파일 내에서 수정
// 대학 수능점수 정보를 저장하고 수정하는 코드를 추가합니다.
<?php
if ($w == '' || $w == 'u') {
    $subject_name = $_POST['subject_name'];
    $standard_score = $_POST['standard_score'];
    $percentile = $_POST['percentile'];
    $grade = $_POST['grade'];
    // 데이터베이스에 대학 수능점수 정보 저장
    sql_query("INSERT INTO `g5_member_exam_scores` (mb_id, subject_name, standard_score, percentile, grade) VALUES ('$mb_id', '$subject_name', '$standard_score', '$percentile', '$grade') ON DUPLICATE KEY UPDATE subject_name = '$subject_name', standard_score = '$standard_score', percentile = '$percentile', grade = '$grade'");
}

 

참고하셔서 원하시는 로직으로 구현하시면 가능 할 것 같습니다.

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

회원로그인

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