2012-12-20 1 views
1
I는 GET 방법 폼을 사용하고

및 체크 박스 배열 대괄호 제거 같은 URL 출력는 []에있어서 GET 형태 URL에서

foreach ($foo AS $key=> $value) { 
$i++; 
echo '<label for="'.$i.'">'.$value.'</label> 
    <input type="checkbox" name="foo[]" value="'.$value.'"" />'; 
} 

:

form.php?id=34&foo[]=c1&foo[]=c2&foo[]=c3 

가 거기 대괄호를 제거하는 방법 [] 그 다음에 폼 메소드를 POST로 바꾸는 것은 정말로 옵션이 아닙니다.

+4

요소의 이름을 'foo []'로 지정하지 말고 'foo' ... – Oded

+1

대괄호에 무엇이 잘못 되었습니까? 이를 제거하면 get 문자열의 마지막 값만 가져옵니다. 당신이 제공 한 URL에서 $ _GET [ 'foo'] == 'c3'만 얻을 것입니다. –

+1

루프에서 확인란을 생성하기 때문에 대괄호를 사용해야합니다. 그렇지 않으면 하나의 확인란 값이 다른 것으로 덮어 쓰게됩니다. – Kasun

답변

2

아니요. 가능한 여러 값을 허용하고 확인란에 해당하는 PHP 쪽에서 사용할 단일 배열로 사용할 수있게하려면 대괄호로 이름을 지정해야합니다. 일반적으로 게시물이 포함 된 양식을 제출하고 인수가 표시되지 않으므로 일반적으로 문제가되지 않습니다.

+0

양식 메서드는 원래 POST 였지만 이전 문제를 해결하기 위해 GET으로 변경했습니다. –

+0

@AnnaRiekic 이전 문제에 대한 질문을 만드십시오. 아마 POST로 작동하도록 도울 수 있습니다. – Ray