저는 PHP를 처음 사용하여 양식에서 제출 한 체크 박스를 읽는 데 문제가 있습니다. 그것을 설명하기 전에 나는 훨씬 더 큰 응용 프로그램을 편집하려고하는데 데이터가 다른 어떤 방법으로도 전송 될 수 없다는 것을 언급하고자합니다. 전송되는 내용을 읽는 좋은 방법을 찾는 것입니다. 통상의 텍스트 입력이 전송PHP의 다차원 배열 (체크 박스가있는 양식 데이터)
는폼이 배치 될 다음
custom[0][type]="text"
custom[0][name]="VariableName"
custom[0][value]="VariableName"
기본적 여러 요소가 주 "사용자"다차원 배열 (0, 1, 2, 3 등)가있다 각 요소에는 이름과 값이 있습니다. 요소 중 하나가 체크 박스 인 경우
그러나, 다음과 같은 재료가 게시됩니다 :
custom[1][type]="list"
custom[1][name]="SelectedOptions"
custom[1][value]="Value1"
custom[1][value]="Value3"
custom[1][value]="Value5"
사물의 PHP 측에 도착,이 난에 의해 전송 된 데이터를 읽기 위해 사용하고 코드입니다 형태. 아래의 코드는 시나리오 1 (텍스트 기반 입력)에서 제대로 작동하지만 목록 유형 사용자 정의 데이터가있을 때만 하나의 값을 읽습니다.
foreach($_POST['custom'] as $item){
if($item['value'] != "") echo $item['name'].'='.$item['value']
}
문제는 $ 항목 [ '값']은 값이 아니라 내가 변수에 3 개 값을 얻을 수있는 방법은 모두 3 중 하나 읽입니까? 아마
(이 그것이 (3 개 확인란이 Variable2에 대한 체크)
custom[0][name] Variable1
custom[0][type] text
custom[0][value] ValueForVariable1
custom[1][name] Variable2
custom[1][type] checkbox
custom[1][value] Value1
custom[1][value] Value3
custom[1][value] Value5
을 POST로 전송되는 것입니다 그리고 이것은 무엇 인 print_r, 그것은 모두가 함께 넣으려면 ... 아주 쉬운 일입니다 $ _POST)
[custom] => Array ( [0] => Array ( [value] => ValueForVariable1 [name] => Variable1 [type] => text ) [1] => Array ( [value] => Value1 [name] => Variable2 [type] => checkbox )
위의 게시 된 데이터에 대한 쇼 그냥 우리가 같은 페이지에, 실제 데이터가 더 복잡한 시스템에 의해 생성하고 확인하기 위해 우리는 정말 변경할 수 없습니다. POST에서 전송되는 Variable2의 3 가지 값을 모두 읽는 방법에 관심이 있습니다.
감사합니다.
'print_r ($ _ POST)'는 정확히 무엇을 생산합니까? (단지이 청크에 대한 것입니다.) – jcmeloni
정확한 이름 지정을 이해하면 체크 박스 이름이 정확하지 않을 수 있습니다. 확인란 이름은 맞춤 [1] [값] []이어야합니다. 그렇지 않으면 값을 마지막으로 덮어 씁니다. – Rufinus
@jcmeloni - 질문을 편집하고 print_r 데이터를 추가했습니다. – Cornel