대표적으로 옵션 같은 기능들이죠. form을 통한 전송 시 array 형태로 던지고 php에서 array로 받는다면 쉽게 구현할 수 있습니다.
아래 코드를 보도록 하겠습니다.
HTML 부분
<form action="./test.php" method="POST">
<input type="checkbox" name="case[]" value="A"> case1<br>
<input type="checkbox" name="case[]" value="B"> case2<br>
<input type="checkbox" name="case[]" value="C"> case3<br>
<input type="checkbox" name="case[]" value="D"> case4<br>
<input type="checkbox" name="case[]" value="E"> case5<br>
<input type="submit"><br>
</form>
PHP 부분
<?php
$list = $_POST['case'];
echo $list[0];
echo $list[1];
?>
주목해야할 부분은 HTML 코드 내 name 부분입니다. 보통 HTML 객체들을 인지하기 위해 name 이나 id를 지정하는데, 저런식으로 array 형태로도 지정할 수 있습니다. 해당 form 태그가 submit 될 때 요청은 아래와 같이 동일한 파라미터명으로 다수 발생합니다.POST /test.php HTTP/1.1
Host: 127.0.0.1
..snip..
Content-Length: 25
case%5B%5D=A&case%5B%5D=C
일반적으로 $_POST나 $_GET 등은 각 서버 별 특징에 따라 하나의 파라미터 값만 받습니다.
다만 저런식으로 배열형태 [](%5B%5D)로 넘어오게 될 때 PHP는 배열로 인지하여 array에 집어넣게 됩니다.
그래서 $_POST['case'] 로 여러가지 값들의 리스트를 받을 수 있습니다.
아주 쉽고 간단하게 구현이 가능하네요.
HAHWULSecurity engineer, Gopher and H4cker! |
0 개의 댓글:
Post a Comment