CI 묻고 답하기

제목 form submit 관련 문의 드립니다
카테고리 CI 2, 3
글쓴이 용의아이 작성시각 2018/08/05 10:13:48
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 22794   RSS

안녕하세요

codeigniter를 처음 접하는 개발자 입니다

검색을 하다가 답을 찾지 못해 이렇게 글을 적네요 ㅠㅠ

 

질문 사항은

1. 회원가입 처리 시 조건을 충족하는가에 따라

2. 페이지를 /redirect가 아닌 form submit 하는 방법으로 페이지 이동 및 값 post 방법으로 전달하고 싶습니다

예를 들자면 회원가입 페이지(member.php) 

뷰에서

<?php echo form_open('membert/register');?>

  <input type="text" name="필드1">

  <input type="text" name="필드2>

<?php echo form_close(); ?>

 

컨트롤러

public function register(){

   $필드1 = $this->input->post('필드1');

   $필드2 = $this->input->post('필드2');

   if ($필드1 == "Y"){

       member_ect.php로 이동 (redirect이 아닌 post 방식으로 값을 submit)

   } else{

       member_add.php로 이동  (redirect이 아닌 post 방식으로 값을 submit)

   }

}

 member_ect.php, member_add.php 페이지 컨트롤러에서 아래와 같이 위 member.php 컨트롤더에서

 전송된 필드2의 값을 받고 싶습니다 

 public function index(){

   $필드2 = $this->input->post('필드2');

 }

 

결론적으로 

기존 php로  작성을 했을때는 아래와 같이 처리했던 부분을 codeigniter로 어떻게 풀면 되는지가 알고 싶습니다

<html>

<form name="register" method="post">

       <input type="text" name="필드1">

        <input type="text" name="필드2>

</form>

<script>

<?php   if ($필드1 == "Y"){?>

     document.register.action = "member_ect.php";

<?php } else{?>

     document.register.action = "member_add.php";

 <?php }?>

       document.register.submit()

 </script>

</html>

 

많은 조언 부탁드리겠습니다

감사합니다.

 다음글 대학교 사이트에 들어가보면 Disallowed Key ... (3)
 이전글 rest api에서 이게 가능한 url인가요? (3)

댓글

빛그림 / 2018/08/05 10:44:08 / 추천 0

"member_etc.php" -> "<?php echo base_url('member/register_etc')?>"

"member_add.php" -> "<?php echo base_url('member/register_add')?>"

위 처럼 하시면 될듯요.

"/member/register_add"; 이렇게 하셔도 되고요.

그리고 위에 써주신 코드중 모델이라고 하신 것이... 뷰 에요 ㅡ.ㅡ

용의아이 / 2018/08/05 22:11:45 / 추천 0

빛그림님 답변 진심으로 감사 드립니다

혹시 컨트롤러 영역에서는

 if ($필드1 == "Y"){

       member_ect.php로 이동 (redirect이 아닌 post 방식으로 값을 submit)

   } else{

       member_add.php로 이동  (redirect이 아닌 post 방식으로 값을 submit)

   }

어떻게 넣으면 되는지 한번 더 여쭤봐도 될까요?

감사합니다.

빛그림 / 2018/08/05 23:13:12 / 추천 0

<script>
<?php if ($필드1 == "Y"){?>
     document.register.action = "/member/register_etc";
<?php } else{?>
     document.register.action = "/member/register_add";
 <?php }?>
       document.register.submit();
 </script>

 

이렇게 url에 대한 표기만 바꿔 주시면 될텐데요. 그리고 뷰에 넣으셔야 하고요.

그리고 Member.php  컨트롤러 안에 register_etc() 메소드와 register_add() 메소드가 미리 작업이 되어야겠고요.