2023. 8. 28. 17:21
PHP
728x90
반응형
라디오 버튼과 달리 체크박스는 여러 항목 중에서 동시에 여러개를 선택하도록 할 때 사용한다.
<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<form name="form1" method="post" action="view5.php">
<h3>당신의 취미는?</h3>
<ul>
<li>영화감상 <input type="checkbox" name="hobby[]" value="영화감상"></li>
<li>맛집탐방 <input type="checkbox" name="hobby[]" value="맛집탐방" checked></li>
<li>독서 <input type="checkbox" name="hobby[]" value="독서"></li>
<li>요가 <input type="checkbox" name="hobby[]" value="요가"></li>
<li>축구 <input type="checkbox" name="hobby[]" value="축구"></li>
<li><input type="submit" value="확인"></li>
</ul>
</form>
</body>
</html>
출력 결과

체크박스를 생성하려면 <input> 태그의 type 속성을 checkbox로 설정해야 한다. 그리고 중복 선택이 가능하도록 name 속성은 배열(hobby[]) 로 설정하고, value 속성에는 화면에 출력할 각 항목을 설정한다. 체크박스에서 선택된 항목의 value 속성값은 $_POST["hobby"]로 전달된다. checked 속성은 초깃값을 의미하며 실행 결과를 보면 맛집탐방이 초깃값이다.

체크박스의 항목을 선택하고 <확인>을 클릭하면 action속성에 설정한 view5.php 파일로 이동한다.
<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<ul>
<li>
<?php
$num = count($_POST["hobby"]);
for($i = 0; $i < $num; $i++)
{
echo $_POST["hobby"][$i];
if($i != $num - 1)
echo ", ";
}
?>
</li>
</ul>
</body>
</html>
$_POST["hobby"]에는 체크박스의 name 속성으로 설정한 hobby[]의 value 속성 값이 배열 형태로 저장된다. 즉 체크박스 항목의 value 속성값이 $_POST["hobby"][0], $_POST["hobby"][1]...에 차례대로 전달된다. count() 함수는 배열의 개수를 세는데 사용하고 변수 $num에는 선택된 체크박스 항목의 개수가 저장된다.
for문은 배열의 개수만큼 반복 수행한다.
체크박스에서 선택된 항목의 value 속성값을 화면에 출력한다.
항목 사이에 쉼표(,)를 넣어 출력하기 위해 if 구문을 이용한다. 항목의 마지막이 아니라면 항목 사이에 쉼표를 출력하라는 의미이다.
영화감상, 맛집탐방, 독서
728x90
반응형
'PHP' 카테고리의 다른 글
php (파일 업로드) (0) | 2023.08.29 |
---|---|
php (선택 박스에서 선택된 데이터 처리) (0) | 2023.08.28 |
php (놀이공원 입장객 나이와 입장권의 종류에 따라 요금 계산) (0) | 2023.08.22 |
php (함수를 이용한 3개의 수 중에서 가장 큰 수 찾는 프로그램) (0) | 2023.08.22 |
php (함수를 이용한 두 수의 최대공약수 구하는 프로그램) (0) | 2023.08.22 |