html selectbox의 값을 배열로 보낼때 채택완료

Copy
<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개

채택된 답변
+20 포인트

각각의 이름을 다르게 하거나 gpt 답변처럼 배열로 선언하셔야 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

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

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

$_POST['wr_situation'][]
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이렇게 [] 배열로 표시하는거 말고는 없나요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고