풀다운 메뉴 & 리스트 박스
풀다운 메뉴는 선택 값들의 목록을 풀다운 형식으로 나타낼 수 있다. 행정구력과 같이 선택할 수 있는 값이 많은 때 간편하게 표시할 수 있어 편리하다. 리스트 박스에 경우 선택 영역을 크게 하거나 2건 이상의 항목을 선택할 때 주로 사용한다.
먼저 HTML 파일에 풀다운 메뉴와 리스트 박스 태그를 작성한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<html>
<head>
<title>텍스트 송신 테스트</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font size="4">텍스트 송신 테스트</font>
<form name="form1" method="post" action="view#4.php">
<!-- 풀다운 메뉴 -->
행정구역:
<select name="prefecture">
<option value="">----- 행정구역을 선택하세요. -----</option>
<option value="서울특별시">서울특별시</option>
<option value="부산광역시">부산광역시</option>
<option value="대구">대구</option>
<option value="울산">울산</option>
<option value="광주">광주</option>
<option value="대전">대전</option>
<option value="인천">인천</option>
<option value="세종특별자치시">세종특별자치시</option>
<option value="경기">경기</option>
<option value="강원">강원</option>
<option value="충청북도">충청북도</option>
<option value="충청남도">충청남도</option>
<option value="경상북도">경상북도</option>
<option value="경상남도">경상남도</option>
<option value="전라북도">전라북도</option>
<option value="전라남도">전라남도</option>
<option value="제주특별자치도">제주특별자치도</option>
<option value="평안북도">평안북도</option>
<option value="평안남도">평안남도</option>
<option value="함경북도">함경북도</option>
<option value="함경남도">함경남도</option>
<option value="황해도">황해도</option>
</select><br>
<!-- 리스트 박스 -->
취미:<br>
<select name="hobby[]" size="5" multiple>
<option value="운동">운동</option>
<option value="게임">게임</option>
<option value="독서">독서</option>
<option value="요리">요리</option>
<option value="음악">음악</option>
<option value="미술">미술</option>
<option value="낚시">낚시</option>
<option value="골프">골프</option>
<option value="원예">원예</option>
<option value="수영">수영</option>
</select><br>
<input type="submit" value="송신">
</form>
</body>
</html>
|
cs |
풀다운 메뉴와 리스트 박스의 차이점은 리스트 박스는 select 태그에 size 속성과 multiple 속성이 들어간다는 것이다. 또한 풀다운 메뉴에서 데이터를 송신하지 않으려면 위에 코드에서 알 수 있듯이 "----- 행정구역을 선택하세요 -----"가 들어간 option 태그에는 value 속성에 아무것도 들어가 있지 않다. 이렇게되면 데이터가 송신되지 않게 만든다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<html>
<head>
<title>PHP 테스트</title>
</head>
<body>
<?php
// 풀다운 메뉴
if($_POST["prefecture"] != ""){
print "행정구역<br>";
print $_POST["prefecture"];
}else{
print "행정구역을 선택해 주세요.";
}
?>
<?php
// 리스트 박스
if(isset($_POST["hobby"])){
print "저의 취미는 아래와 같습니다.<br><br>";
foreach($_POST["hobby"] as $hobby){
print $hobby;
print "<br>";
}
}else{
print "저의 취미는 없습니다.";
}
?>
</body>
</html>
|
cs |
데이터를 받으려면 PHP 파일을 생성해 위와 같이 작성한다. select 태그의 데이터 참조는 name 속성을 통해 참조를 한다. 풀다운 메뉴에 경우 if 조건문을 통해 if($_POST["prefecture"] !="")를 사용해 데이터가 존재하면 그 행정구역을 표시하게 만든다. 리스트 박스에 경우 isset 함수로 $_POST["hobby"]에 값이 설정되어 있는지 확인후 값이 설정되어 있다면 foreach 문으로 송신된 데이터를 $hobby에 할당하고 출력시킨다.
쿠키
쿠키(HTTP Cookies)를 사용하면 'X 번째 방문입니다.'라는 메세지를 출력하거나 홈쇼핑 사이트에서 '상품 조회 이력'과 같은 것을 표시할 수 있다. 쿠키를 쉽게 설명하면 PC안에 저장된 텍스트 파일이다.
쿠키를 설정하려면 setcookie 함수를 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
$count = 1;
if(isset($_COOKIE["count"])){
$count = $_COOKIE["count"];
$count ++;
}
setcookie("count", $count,time() + 10);
?>
<html>
<head>
<title>쿠키 테스트</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
쿠키테스트<br>
<br>
<?php
if($count == 1){
?>
첫 방문입니다.<br>;
<br>
쿠키 정보가 없습니다.<br>
페이지를 새로고침 하세요.<br>
<?php
}else{
?>
당신은 <?=$count?> 번째 방문하였습니다.<br>
<br>
10초 이내에 새로고침을 하면 방문 카운트가 올라갑니다.
<?php
}
?>
</body>
</html>
|
cs |
위의 코드에서 $count를 0으로 초기화 하고 있는데 쿠키 정보가 있다면 $_COOKIE["count"]에 데이터가 있어 $count에 $_COOKIE["count"]의 내용이 할당이 되고 $count ++ 에 따라서 1씩 가산이 된다. setcookie 함수에는 키를 count, 값은 $count에 유효기간은 10초로 설정한다.
쿠키 정보가 없는 경우에는 $count에 1이 할당이 되어있어서 if($_COOKIE["count"]에 따라 쿠키 정보가 없습니다. 라는 메세지를 출력한다.
명칭(또는 함수 이름) | 형태 | 설명 |
글로벌 변수 | $_GET["데이터(name)"] | GET으로 송신된 데이터 할당 |
$_POST["데이터(name)"] | POST로 송신된 데이터 할당 | |
$_REQUEST["데이터(name)"] | GET or POST로 송신된 데이터 할당 | |
$_COOKIE["키"] | 쿠키에 설정되는 값 참조 | |
rawurldecode | rawurldecode("멀티바이트 문자열"); | 멀티바이트 인코드 처리 |
hidden | HTML input 태그의 type 속성에 type="hidden"입력 | 데이터를 표시하지 않고 송신 |
키[ ] | HTML input 태그의 name 속성에 name="키[ ]"입력 | name 속성에 배열을 지정 |
isset | isset($변수); | 변수에 값이 설정되어 있는지 검사 |
setcookie | setcookie("키", "값", 쿠키의 유효기간); | 데이터를 쿠키에 저장한다. |
'프로그래밍 공부 > PHP' 카테고리의 다른 글
PHP - 메일 수신, 외부 명령 실행 그리고 클래스 (0) | 2020.02.04 |
---|---|
PHP - 세션, 파일 업로드 그리고 이미지 축소 (0) | 2020.02.03 |
PHP - 송신 버튼, 체크박스 그리고 라디오 버튼 (1) | 2020.01.30 |
PHP - 텍스트 송신, 여러 행 텍스트 그리고 hidden 태그 (0) | 2020.01.29 |
PHP - HTTP 헤더, 메일 송신 그리고 정규표현 (0) | 2020.01.28 |