물어보기XpressEngine

간단하게 다음과 같은 폼이 있다고 가정할게욤~

 

<form> 

<input type="hidden" act=procMemberInsert  ~생략~>

<input type="email_address" ~생략~>       <!-- XE또는RX에서 제공하는 회원가입 기본 입력폼 -->

~생략~

<input type="text" name="member_type_input" ~>   <!--  회원가입 추가 입력폼 (확장변수)? -->

</form>

 

위 폼을 제출하면

procA함수가 실행되면서 값이 넘어갈텐데요

 

member.controller.php에 정의된 함수procMemberInsert에

회원가입 시 추가로 입력받은 member_type_input 값을 집어넣으려면 어떻게 해야하나요??

 

이렇게하면 되나요?

 

 

1번

function procMemberInsert(){

~생략~

 $member_group_input=Context::get('member_group_input'); 

~생략~

}

 

2번

function procMemberInsert(){

~생략~

 

 $member_group_input=$extra_vars->$member_group_input;

~생략~

}

 

 

넘나 어렵네요 ㅜㅜ 

도와주세요~

  • ?
    qwertyyong 2017.09.18 04:51:23
    둘다 해봤는데 안되는거 같아요 ㅜㅜ
  • profile
    기진곰 2017.09.18 12:09:22

    1번이 맞습니다만, 혹시 member_type_input인데 member_group_input이라고 쓰셔서 안 되는 건 아니겠죠?

  • ?
    qwertyyong 2017.09.18 12:19:40

    답변 감사합니다!
    아뇨 제 서버엔 둘다 같게 입력했어요
    @기진곰   님 부탁있는데 저좀 알려주십시오 ㅜㅜ

     

    1번에서

    function procMemberInsert(){
    ~생략~
     $member_group_input=Context::get('member_group_input'); 
    ~생략~
    }

    굵은 글씨의 변수 형태가 문자열인가요? string?

    입력 폼에서 회원이 쓴 정보가 aa라면 특정 조건문을 시행하고자하는데요

     

    A. if($member_group_input == 'aa')  {조건문 시행}

    B. if($member_group_input == "aa")  {조건문 시행}

    C.if($member_group_input == aa)  {조건문 시행}

     

    ?? 뭐가 맞을까요 이거저거 다해봐도 안됩니당 ㅜㅜ

    Context::get('member_group_input'); 가 어떤 변수형태일까요 ㅜㅜ

     

    회원이 aa처럼 영문이 아닌 한글을 입력하면 시행이 안될까요?

  • profile
    기진곰 2017.09.18 13:05:25
    변수명이 같다면 Context::get은 제대로 하신 거고요, if문에 들어가는 조건은 A, B는 괜찮고 C는 안됩니다.

    폼에서 추가한 변수가 왜 안 넘어왔는지는 모르겠지만 (변수명이 틀렸는지, 그 폼이 아닌지, 필터에 걸렸는지...) 일단 폼에서 정확히 뭐가 넘어왔는지 확인부터 해야 할 것 같습니다. 변수와 관련된 모든 문제의 해결은 실제로 변수에 뭐가 들어 있는지 확인하는 데서 시작합니다.

    var_dump($member_group_input); exit; 이렇게 백지화면에 변수만 찍도록 해보시면 확실히 나옵니다. NULL이라면 아무 것도 안 넘어온 것이고, 다른 값이 나온다면 거기에 맞춰서 코드를 작성해야겠죠.
  • ?
    qwertyyong 2017.09.18 13:58:10
    @기진곰 님
    사랑합니다!
    옆에 계셨으면 헹가레 해드렸어요!
    모두 해결했습니다 ㅜㅜ
    감사합니다

서버에 요청 중입니다. 잠시만 기다려 주십시오...