어떤 웹프로그램이든지 방문자에게서 정보를 입력받기 위해선 from이라는걸 이용하게 되죠...
예를들면 회원가입부터 시작해서 로그인이라든가 게시판 폼메일 등등 거의 모든 프로그램에 쓰이게 됩니다.
복잡한것 같지만 form이란게 한가지만 알면 엄청 간단합니다...
보시죠~
form태그는 기본적으로 몇가지 옵션이 들어가는데...
가장 간단하게 이렇게 씁니다...
<form method=post action=test.php>
method라는건 입력된 값을 전달하는 방식인데...
get하고 post가 있습니다...
두가지 모두 똑같이 값이 전달되는 것이긴 한데...
get으로 했을땐 주소창에 입력된 값이 그대로 보여지고..
post일 경우에는 값이 보여지지 않습니다.
그렇게 때문에 post가 더 보안쪽으로는 안전하다고 볼수 있겠죠?
비밀번호와 같은게 주소창에 나타나면 안되니까 말이죠...
그리고 post가 더 많은 값들을 넘겨줄수 있다고 합니다....권장사항이죠;
action이라는건 어느 문서로 입력된 값을 넘겨주느냐 입니다.
예제에서는 test.php로 넘겨준다는거죠...
자 그럼 루트에 두가지 문서를 만들어보죠...
form.php와 action.php를 만드세요...
form.php에서는 정보를 입력하도록 하고...
action.php에서는 입력된 정보를 받아서 처리하는 부분입니다.
설명을 하자면....
method는 post방식이고.....
action은 action.php로 값을 넘겨 준다는것이죠
<input>태그에서 type이 text니까 텍스트필드를 하나 만들고 이름을 memo로 정해 줬습니다.
그다음 <input>에서는 submit버튼을 입력확인이란 글자가 새겨지도록 만들어 놨습니다.
이대로 실행을 하면....
텍스트필드가 하나 있고 그 옆에 입력확인 이라는 버튼이 있겠죠...?
입력확인을 눌러보면 페이지를 찾을수 없다는 메세지가 나옵니다...
왜냐.....action.php로 값을 넘겨주기 때문에 action.php로 이동해야 하는데 아직 안만들었다죠...;;
이제 action.php를 만들어 봅시다....
<?
echo $memo;
?>
끝입니다....^^;
$memo라는 변수를 찍는거죠...
그런데 $memo에는 값을 넣어놓지 않았습니다.....-_-;;
눈치 채셨겠죠?
아까 form.php에서 텍스트필드의 이름을 memo로 해주었습니다.
그래서 그곳에 뭔가를 입력을 하고 입력확인을 누르면....
action.php에서 $memo라는 변수로 넘어갑니다.
실행을 해보면 텍스트필드가 하나 나오고 바탕색 바꾸기라는 버튼이 있습니다.
여기에 한번 red를 입력하시고 버튼을 눌러보세요...
바탕이 빨간색으로 바뀌었죠?
소스중에 action에서 $PHP_SELF라는 것은 자기자신을 뜻하는 변수입니다. (꼭 대문자로 써야합니다)
그러니까 현재의 문서로 form을 전달해 주는거죠...
그럼 입력된 값이 $color라는 변수의 값으로 전달되고....
<body bgcolor=$color> 에서는 $color에 그 값이 들어가겠죠?
결국 red를 입력했으니까...<body bgcolor=red>가 됩니다...