html selectbox의 값을 배열로 보낼때

html selectbox의 값을 배열로 보낼때

QA

html selectbox의 값을 배열로 보낼때

본문


<span>
  <select name="wr_situation" class="wr_situation">
    <option value="enteringHome">홈 화면 진입 시 띄움</option>
    <option value="completePayment">결제완료 후 띄움</option>
    <option value="completeAttendance">입장완료 후 띄움</option>
  </select><a href="#" class="remove_btn"><img src="<?= G5_URL ?>/img/remove-icon.png"/></a>
</span>
<span>
  <select name="wr_situation" class="wr_situation">
    <option value="enteringHome">홈 화면 진입 시 띄움</option>
    <option value="completePayment">결제완료 후 띄움</option>
    <option value="completeAttendance">입장완료 후 띄움</option>
  </select><a href="#" class="remove_btn"><img src="<?= G5_URL ?>/img/remove-icon.png"/></a>
</span>

 

wr_situation 이름으로 form data에 담아 보낼때, 받는 php 소스에서 값을 하나만 인식합니다.

 

$_POST['wr_situation']

이 질문에 댓글 쓰기 :

답변 3

 

배열로 보내기 위해서는 다음과 같이 소스를 수정해야 합니다.

<select name="wr_situation[]" class="wr_situation">
</select>

 

그리고 받는 php 소스에서는 다음과 같이 배열로 받아야 합니다.

$_POST['wr_situation'][]

if($_POST) {
    $post = array();
    foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {
        list($key, $value) = explode('=', $keyValuePair);
        $post[$key][] = $value;
    }
    var_dump($post);
}

 

결과값)

array(1) {
  ["wr_situation"]=>
  array(2) {
    [0]=>
    string(12) "enteringHome"
    [1]=>
    string(12) "enteringHome"
  }
}

 

출처) https://stackoverflow.com/questions/2203430/posting-form-fields-with-same-name-attribute

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

회원로그인

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