[PHP] Header, GET, POST
header
php에 헤더를 설정하지 않고 그냥 작업을 하면 이런 경우가 발생합니다.
<?
echo "Hello <br />";
echo "안녕하세요";
?>
<script type="text/javascript">
alert("안녕하세요");
</script>
위와 같이 작성하고 실행을 한 화면입니다.
IE 와 불여우 입니다. 불여우는 그냥 제대로 나오는 군요.
헤더를 안 설정해 줘서 그렇습니다. 간혹 UTF-8로 페이지를 인코딩하고 HTML은 설정을 해줬으나 php는 설정하지 않은 경우
한글을 폼에서 입력받아서 그 값으로 php에서 DB검색을 하는데 값이 안 나옵니다. 대략난감....
header("content-type:text/html;charset:utf-8");
그럼 IE 에서도 잘 나옵니다.
요렇게 나오는 군요.
header 함수는 http를 전송하는 것이며,
// 문서형태와 문자셋
header("Content-Type:text/html;charset=UTF-8");
// 캐시 사용 안할 때
header("Cache-Control:no-cache");
header("Pragma:no-cache");
// 파일다운 로드 할때
header("Content-type: application/xls"); 엑셀도 있고 pdf도 있고 있고
header("Content-Disposition: attachment; filename='test.xls'");
이런식으로 해서 사용합니다.
헤더를 전송하기 전에 것도 출력을 하면 안됩니다. 예들 들어 맨위에다가 <!DOCTYPE HTML> 머 이런것을 준다는 둥 하면 에러가 발생합니다. 헤더는 머리니까 머리가 먼저 가야 겠지요...
GET, POST
데이터 전달방식인데
GET은 test.php?a=1&b=yes 같이 전달하는 것이고
POST는 form을 사용해서 method="POST" 이렇게 전달하는 방식입니다.
GET은 URL이 다 보입니다. 그래서 엔코딩을 하기도 하지만 그냥 편하게 사용할 별거 없을때 GET을 쓰고 데이터 많고 안 보이게 할려면
POST 쓰면 됩니다.
위에서 연습했던 페이지에 아래 내용을 첨부합니다.
<a href="test.php?num=1234&name=삼식이">GET전송</a><br />
<form method="post" action="test.php">
<input type="text" name="num" value="5678"/>
<input type="text" name="name" value="삼순이"/>
<input type="submit" value="POST전송" />
</form>
test.php
<?
header("Content-Type:text/html;charset=utf-8");
$num_val = $_REQUEST[num];
$name_val = $_REQUEST[name];
echo $num_val . " : " . $name_val;
?>
GET 전송을 누르면 1234 : 삼식이
POST 전송을 누르면 5678 : 삼순이 가 출력됩니다.
GET 방식은 $_GET을 사용하고 , POST 방식은 $_POST를 사용하지만 $_REQUEST를 사용하면 둘다 가능합니다.
PHP 설정이 register_globals = ON 돼어 있으면 저것도 필요없이 $num , $name를 그냥 사용하면 됩니다.
php는 위와 같이 $변수 이렇게 사용합니다.
echo 문은 출력문이고 print도 있고 printf 도 있으니 메뉴얼 참조하시기 바랍니다.
echo 문에 . 은 문자열을 합치는 것입니다. 자바스크립트의 + 과 동일합니다. ASP는 & 입니다.
GET방식은 그냥 주소 입력창에 입력을 해도 돼는데 test.php가 UTF-8로 돼어 있어서 글자가 깨질겁니다. 설정없이 그냥 주소창에 입력하고 출력을 해보면 정확히 나옵니다.
HTML 폼에 관련된 내용은 검색해보면 종류 및 속성값들이 다 나오니까 참고하시면 되겠습니다.
이제 입력받아서 전송까지 했으니까. 다음에는 값을 입력해서 DB에 저장을 하고 검색하면 돼겠네요.
참조 블로그 :: http://blog.naver.com/hackz/120135792292
[출처] Header, GET, POST|작성자 상공
'웹이야기' 카테고리의 다른 글
[CSS] css 속성 중 !important 선언 (0) | 2012.06.28 |
---|---|
[HTML] input 한글, 영문 입력 im-mode (0) | 2012.06.26 |
[CSS] Position - static, fixed, relative, absolute (0) | 2012.05.30 |
[PHP] 문자 대,소문자 변환 (0) | 2012.05.22 |
[HTML] input type=file 이미지버튼으로 (0) | 2012.05.17 |