마지막 입력 요소 만 사용할 수 있습니다.
같은 이름의 입력을 여러 개 입력하려면 입력 이름 속성에 name="foo[]"
을 사용하십시오. $_POST
은 foo에 대한 배열을 입력 요소의 모든 값과 함께 포함합니다.
<form method="post">
<input name="a[]" value="foo"/>
<input name="a[]" value="bar"/>
<input name="a[]" value="baz"/>
<input type="submit" />
</form>
당신이 PHP는 기본적으로 그냥 폭발하고 원시 쿼리 문자열을 통해 foreach 문이 $_POST
을 채울 수 있기 때문 []
는 사용하지 않는 경우 $_POST
는 마지막 값이 포함됩니다 이유. 이미 존재하는 이름/값 쌍을 발견하면 이전 이름을 덮어 씁니다. 폼이 같이있는 가정
$rawQueryString = file_get_contents('php://input'))
:
그러나 여전히이 같은 원시 쿼리 문자열에 액세스 할 수 있습니다
<form method="post">
<input type="hidden" name="a" value="foo"/>
<input type="hidden" name="a" value="bar"/>
<input type="hidden" name="a" value="baz"/>
<input type="submit" />
</form>
$ rawQueryString
다음 a=foo&a=bar&a=baz
포함됩니다.
그런 다음 자신의 논리를 사용하여이를 배열로 구문 분석 할 수 있습니다. 순진한 접근 방식은 쿼리 문자열의 각 이름에 대한 배열 배열을 제공하는
$post = array();
foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {
list($key, $value) = explode('=', $keyValuePair);
$post[$key][] = $value;
}
이 될 것입니다.
또는 물론 이죠,하지만 지금까지 내가 기억하는대로 $ labelValues = $ _POST [ 'labelValue를']해야하지이
<form method="post">
<input name="a[0]" value="foo"/>
<input name="a[1]" value="bar"/>
<input name="a[2]" value="baz"/>
<input type="submit" />
</form>
이 게시물 가치가 올 수있는 곳에 HTML 부분을 게시 할 수 있습니까? –
확실하지 않지만, 기억 하기엔 '$ labelValues = $ _POST ['labelValue ']'이어야합니다. 나는 당신의'$ labelValues'가'null'이고 당신은 당신의 루프를 입력하지 않는다고 생각합니다. 당신은 당신이 일하고있는 것을 검증하기 위해'var_dump ($ _POST)'를해야한다. – evilive
@AnikIslamAbhi 님이 사진을 추가했습니다. – Chrillewoodz