▶ 폼 태그 구조
<form name="폼 이름" action="프로그램명" method="전달 방식"
[target="대상 윈도우"] [enctype="인코딩 형식"]>
입력 양식
......
</form>
▶ 데이터 전달 방식과 변수
GET 방식
: GET방식은 입력 값을 action에 지정한 URL에 첨가하여 전달하는 방식을 의미
(처리를 요청하기보다는 정보를 요청하는 용도)
예제 1. GET 예제 폼 파일
4-1.html
<html><head><title>GET 예제</title></head>
<form name="get_ex" action="4-1.php" method="get">
<p><input type="text" name="text"><input type="submit" name="확인" value="확인"></p>
</form>
</body></html>
4-1.php
<?
$text = $_GET['text'];
echo("전달된 값은 {$text}입니다.");
?>
GET 예제 파일
//a.php
<?
$a = 1;
echo("\$a = {$a}<br>
<a href=./b.php?a=$a>b.php</a>");
?>
//b.php
<?
$a = $_GET["a"];
echo("\$a = {$a}");
?>
POST 방식
예제 2. POST 예제 폼 파일
4-2.html
<html><head><title>POST 예제</title></head>
<form name="get_ex" action="4-2.php" method="post">
<p>텍스트 입력: <input type="text" name="text"><input type="submit" name="확인" value="확인"></p>
</form>
</body></html>
4-2.php
<?
$text = $_POST['text'];
echo("전달된 값은 {$text}입니다.");
?>
* register_globals
php.ini파일에 register_globals의 역할은 EGPCS(Environment, GET, POST, Cookie, Server)의 값들을
자동으로 PHP에 전역변수로 저장해주는 옵션이다. EGPCS에 의해서 전달된 값들은 각각 연관 배열인
$_ENV, $_GET, $_POST, $_COOKIE, $_SERVER에 저장된다. 이때 전달 킷값과 동일한 변수를 전역변
수로 만들어줄려면 register_globals를 On으로 지정하면 된다.
/usr/local/lib/php.ini 파일의 설정을 다음과 같이 수정하고 수행해 보자
register_globals = On
예제 3. GET, POST 변수를 전역변수로 전달하기위한 폼 파일
4-3.html
<html><head><title>전역변수로 전달</title></head>
<form name="get_ex" action="4-3.php?get=get" method="post">
<p><input type="text" name="post"><input type="submit" name="확인" value="확인"></p>
</form>
</body></html>
4-3.php
<?
echo("get에 전달된 값은 {$get}입니다.<br>
post에 전달된 값은 {$post}입니다.<br>
\$_GET[get]에 전달된 값은 {$_GET['get']}입니다.<br>
\$_POST[post]에 전달된 값은 {$_POST['post']}입니다.
");
?>
▶ 다양한 input type 폼 태그
* text와 password
<input type="text" || "password" name="전달 변수명" maxlength="입력크기"
size="창크기" value="미리 입력된 값">
예제 4. input type text와 password
4-4.html
<html><head><title>Input type text와 password</title></head>
<form name="tx_pw" action="4-4.php" method="post">
이름 : <input type="text" name="id" size="8"><br>
암호 : <input type="password" name="pw" size="8"><br>
<input type="submit" name="확인" value="확인">
</form>
</body></html>
4-4.php
<?
echo(" 이름은 {$_POST['id']}입니다.<br>
암호는 {$_POST['pw']}입니다.");
?>
▶ input type radio
<input type="radio" name="전달 변수명" value="전달될 값" [checked]>
예제 5. input type radio
4-5.html
<html><head><title>Input type radio</title></head>
<form name="radio" action="4-5.php" method="post">
1<input type="radio" name="rd" value="1" checked>,
2<input type="radio" name="rd" value="2">,
3<input type="radio" name="rd" value="3">,
4<input type="radio" name="rd" value="4">,
<input type="submit" name="확인" value="확인">
</form>
</body></html>
4-5.php
<?
echo(" 선택한 값은 {$_POST['rd']}입니다.");
?>
▶ input type checkbox
<input type="checkbox" name="전달 변수명" value="전달될 값" [checked]>
예제 6. input type chechbox
4-6.html
<html><head><title>Input type chechbox</title></head>
<form name="chechbox" action="4-6.php" method="post">
1<input type="checkbox" name="cb1" value="1" checked>,
2<input type="checkbox" name="cb2" value="1">,
3<input type="checkbox" name="cb3" value="1">,
4<input type="checkbox" name="cb4" value="1">,
<input type="submit" name="확인" value="확인">
</form>
</body></html>
4-6.php
<?
echo(" cb1은 {$_POST['cb1']}입니다.<br>
cb2은 {$_POST['cb2']}입니다.<br>
cb3은 {$_POST['cb3']}입니다.<br>
cb4은 {$_POST['cb4']}입니다.");
?>
▶ input type file
<form ... enctype="multipart/form-data">
<input type="file" name="전달 변수명" enctype="multipart/form-data">
▶ TEXTAREA
<textarea name="전달 변수명" rows="행수" cols="너비">초기값</textarea>
예제 9. Input type file
4-9.html
<html><head><title>Textarea</title></head>
<form name="textarea" action="4-9.php" method="post">
<textarea name="tarea" rows="2" cols="30"></textarea><br>
<input type="submit" name="확인" value="확인">
</form>
</body></html>
4-9.php
<?
$tarea = $_POST["tarea"];
$tarea = nl2br($tarea);
echo("$tarea");
?>
▶ SELECT
<select name="전달 변수명" size="행수" [mutiple]>
<option value="전달될 값">출력값</option>
......
</select)
예제 10. select 태그 폼 파일
4-10.html
<html><head><title>Select</title></head>
<form name="select" action="4-10.php" method="post">
<select name="select" size="1">
<option value="1">1번</option>
<option value="2">2번</option>
<option value="3">3번</option>
</select>
<input type="submit" name="확인" value="확인">
</form>
</body></html>
4-10.php
<?
$select = $_POST["select"];
echo("선택된 값은 {$select}입니다.");
?>
'PHP 공부 기록' 카테고리의 다른 글
PHP 6 - PHP를 이용한 DB 접속 (0) | 2021.12.12 |
---|---|
(수정중) PHP 5 - 배열 (0) | 2021.11.23 |
PHP 3 - 반복문(1) (WHILE, DO..WHILE, FOR, Continue) + 소수 판별 프로그램 (0) | 2021.11.05 |
PHP 2 - 조건문 (IF, SWITCH) (0) | 2021.10.29 |
PHP 1 - 변수와 연산자 (0) | 2021.10.22 |