답변 6개
아래 참고 링크에서
2. adm/member_form_update.php 이 부분을
그누보드 기본 기능인 회원정보 수정시 register_form_update.skin 업데이트 부분에 적용시키면됩니다.
참고 : https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=33
아래 기능도 함께 넣으시면 더 좋습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
위 방법은 그누보드5 설치 후 테스트 해본거라 안될수가 없습니다.
관리자페이지/기본설정/회원스킨 설정을 어떤 폴더에 있는걸 했는지 우선 찾아보세요.
댓글을 작성하려면 로그인이 필요합니다.
관리자 수정을 할줄 아셔서 어느정도 이해도가 있으리라 생각하고 원리를 설명해드리려했는데
전달이 잘 안되었던것 같네요..
소스는 충분히 보셨으리라 생각하고 수정위치 알려드릴께요.
/bbs/register_form_update.php

mb_recommend = '{$_POST['mb_recommend']}', 추가
주의! 비슷한곳이 두군데입니다 위 스샷처럼 update 부분에 넣어주세요.
/skin/member/basic/register_form.skin.php

신규 가입과 추천인 사용일때만 활성화 하는 추천인 조건식 삭제. (이 부분은 원하시는대로 활용하세요)
</p>
<p> <li>
<label for="reg_mb_recommend" class="sound_only">추천인아이디</label>
<input type="text" name="mb_recommend" id="reg_mb_recommend" value="<?php echo $member['mb_recommend']; ?>" class="frm_input" placeholder="추천인아이디">
</li>
그대로 사용하셔도 되고 한번만 입력되게 하려면
</p>
<p> <?php if ($config['cf_use_recommend'] && $member['mb_recommend'] == '') { // 추천기능 사용이고 회원정보에 추천인이 없을때만 출력 ?>
<li>
<label for="reg_mb_recommend" class="sound_only">추천인아이디</label>
<input type="text" name="mb_recommend" id="reg_mb_recommend" value="<?php echo $member['mb_recommend']; ?>" class="frm_input" placeholder="추천인아이디">
</li></p>
<p> <?php } ?></p>
<p>
200925:1940 - 위 코드에서 잘못된 조건(수정상태) 수정했습니다.
이렇게 사용하세요.
그누 5.3 에서 테스트 했습니다.

답변에 대한 댓글 1개
1. 도메인/bbs/register_form_update.php : 비슷한 두 군데 확인하고 update쪽에 아래와 같이 mb_recommend = '{$_POST['mb_recommend']}',를 추가하였습니다.
$sql = " update {$g5['member_table']}
set mb_nick = '{$mb_nick}',
mb_mailling = '{$mb_mailling}',
mb_sms = '{$mb_sms}',
mb_open = '{$mb_open}',
mb_email = '{$mb_email}',
mb_homepage = '{$mb_homepage}',
mb_tel = '{$mb_tel}',
mb_zip1 = '{$mb_zip1}',
mb_zip2 = '{$mb_zip2}',
mb_addr1 = '{$mb_addr1}',
mb_addr2 = '{$mb_addr2}',
mb_addr3 = '{$mb_addr3}',
mb_addr_jibeon = '{$mb_addr_jibeon}',
mb_signature = '{$mb_signature}',
mb_profile = '{$mb_profile}',
mb_recommend = '{$_POST['mb_recommend']}',
mb_1 = '{$mb_1}',
mb_2 = '{$mb_2}',
mb_3 = '{$mb_3}',
mb_4 = '{$mb_4}',
mb_5 = '{$mb_5}',
mb_6 = '{$mb_6}',
mb_7 = '{$mb_7}',
mb_8 = '{$mb_8}',
mb_9 = '{$mb_9}',
mb_10 = '{$mb_10}'
{$sql_password}
{$sql_nick_date}
{$sql_open_date}
{$sql_email_certify}
{$sql_certify}
where mb_id = '$mb_id' ";
sql_query($sql);
2. 도메인/skin/member/basic/register_form.skin.php : 아래처럼 했습니다.
<?php
//회원정보 수정인 경우 소셜 계정 출력
if( $w == 'u' && function_exists('social_member_provider_manage') ){
social_member_provider_manage();
}
?>
//요기 있던 조건식 삭제했습니다
<li>
<label for="reg_mb_recommend" class="sound_only">추천인아이디</label>
<input type="text" name="mb_recommend" id="reg_mb_recommend" value="<?php echo $member['mb_recommend']; ?>" class="frm_input" placeholder="추천인아이디">
</li>
<?php } ?>
3. 제가 테마(pet)를 사용중이어서 혹시 하는 맘에 여쭙니다. 이곳 theme/pet/skin/member/basic/에도 register_form.skin.php가 있더군요.
이곳에
<?php if ($w == "" && $config['cf_use_recommend']) { ?>
<tr>
<th scope="row"><label for="reg_mb_recommend">추천인아이디</label></th>
<td><input type="text" name="mb_recommend" id="reg_mb_recommend" class="frm_input"></td>
</tr>
<?php } ?>
이 부분 조건식을 삭제하면 syntex error가 나와서 그대로 뒀습니다.
어디가 잘못되었을까요?
감사합니다!!
댓글을 작성하려면 로그인이 필요합니다.
이상한 건, 회원가입할 때의 주소도 도메인/bbs/regiser.form.php 이고 마이페이지에서 '회원정보수정' 할 때도 도메인/bbs/rigister.form.php로 같은데 회원가입할 때는 '추천인'란이 있고, 회원정보수정을 할 때는 추천인란이 없네요.
회원정보수정을 클릭했을 때 '추천인'입력란만 나타나도록 하면 될 것 같은데.... 이게 안되네요 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
원리는 간단합니다.
https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=33" rel="nofollow noreferrer noopener" target="_blank">https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=33
위 링크에서는 파일명만 다를뿐 구조는 회원정보 업데이트와 비슷합니다.
위 링크를 참조하여 실제 회원정보에도 적용하시라는 이야기였습니다.
회원이 정보를 수정함.
/skin/member/basic/register_form.skin.php
- 여기에 input 추가
해당 정보를 수정시 업데이트함.
/bbs/register_form_update.php
- 여기에 쿼리 업데이트
답변에 대한 댓글 1개
1. 도메인/bbs/register_form.php 이 파일내에 관리자가 수정하는것처럼 input 을 넣으시고
2. /skin/member/basic/register_form.skin.php - 여기에 input 추가
1에도 넣어보고 2에도 넣어보고(그런데 2번에는 <input type="text" name="mb_recommend" id="reg_mb_recommend" class="frm_input" placeholder="추천인아이디">가 이미 있더군요) 어쨌든 둘다 넣어보고 등등 경우의 수는 모두 동원해서 했습니다만, 잘 안됩니다.
끝으로 1번인지 2번인지만 말해주시면 더는 귀찮게 안하겠습니다.
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
회원가입 후 마이페이지 등에서 본인의 회원정보를 수정할수 있습니다.
수정시
도메인/bbs/register_form.php
이 파일내에서 정보를 받아서
register_form_update.php
여기서 업데이트 하게 됩니다.
도메인/bbs/register_form.php 이 파일내에 관리자가 수정하는것처럼 input 을 넣으시고
register_form_update.php 여기서 업데이트 시키면됩니다.
답변에 대한 댓글 1개
skin/member/basic/register_form.skin.php도 있던데 혹시 이곳에 input을 넣는 건지요?
정말 죄송하지만, [무엇을 어디 디렉토리의 무슨무슨 파일의 어디에 넣어라.]고 말씀해주실 수 있을까요? 부탁드립니다.
귀찮게 해드려 죄송합니다. 말씀해주신 경로(원리)는 알 것 같습니다.
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그런데
2. adm/member_form_update.php 이 부분을 그누보드 기본 기능인 회원정보 수정시 register_form_update.skin 업데이트 부분에 적용시키면됩니다.
==> 이 뜻을 잘 모르겠습니다. adm/member_form_update.php의 어느 부분을 register_form_update.skin의 어느 부분에 어떻게 적용시키는지 모르겠습니다. 워낙 초보라서요. 죄송하지만 이 부분 다시 한 번 설명 부탁드려도 될까요?
감사합니다.