본문 바로가기
PHP/PHP Basic

PHP $_GET, $_POST

by 진격의 파파 2013. 6. 18.
반응형

 

이번장에서는 이전 포스트에서 미리 예고드린바 있는 PHP $_GET, $POST 방식에 대해서 알아보겠습니다.

기본적으로 <form></form> 방식에서 사용하는 방법에는 GET 방식과 POST 방식 두 가지가 있습니다.

 

먼저 GET 방식에 대해서 말하겠습니다.

 

GET 방식은 폼값을 다른 페이지로 넘길 경우 상단 주소 표시줄에 변수와 변수값이 모두 노출됩니다.

 

예를들어

<form action="info.php" method="get">
이름 : <input type="text" name="user_name">
나이 : <input type="text" name="user_age">
< input type="submit">
< /form>

// submit 버튼을 누르면 이름과 나이의 값을 info.php 페이지로 전송을 하게 되는데

그때 상단 주소창에 http://blog.naver.com/makand123/info.php?name=Park&age=38 이런식으로 표시됩니다.

그래서 보안에 상당한 위험이 있습니다. 암호 또는 기타 민감한 전송에 사용하지 말기를 바랍니다. 왜냐하면 누군가 주소 표시줄을 보게되면 그 사람의 아이디, 비밀번호 등이 나타나게 되어 그것을 도용할 수도 있기 때문입니다.

그런데 왜 굳이 설명을 하는가 하면 GET 방식이 POST 방식에 비해 빠르기 때문에 간단한 요청을 할 경우 GET 방식이 더 유용하게 사용됩니다. 예를들어 http://makand.tistory.com/123 이렇게 간단한(보안을 요하지 않는) 사용할 경우에 유용합니다. 그리고 GET 방식은 페이지 북마크에 유용하게 사용됩니다.

값을 가져올 경우 GET 방식으로 넘어왔기 때문에

<?

echo "이름은". $_GET["user_name"]."<br />";

echo "나이는". $_GET["user_age"];

?>

처럼 $_GET 으로 변수값을 가져오면 됩니다.

--------------------------------------------------------------------------------------------

POST 방식은 폼값을 다른 페이지로 넘길 경우 다른 사람에게 보이지 않게 전송가능합니다. 그리고 보내는 양에 제한이 없지만 기본적으로 8M를 전송할수 있습니다. 이 용량을 변경하기 위해선 PHP.INI 파일에서 post_max_size 설정하여 변경할 수 있습니다.

 

예를들어

<form action="info.php" method="post">
이름 : <input type="text" name="user_name">
나이 : <input type="text" name="user_age">
< input type="submit">
< /form>

// 마찬가지로 submit 버튼을 누르면 이름과 나이의 값이 전송되는데 그때 상단주소창엔 get 방식과 틀리게 http://blog.naver.com/makand123/info.php 처럼 나타나게 됩니다.

그리고 값을 가져올 경우 POST 방식으로 넘어왔기 때문에

<?

echo "이름은". $_POST["user_name"]."<br />";

echo "나이는". $_POST["user_age"];

?>

처럼 $_POST 로 변수값을 가져오면 됩니다.

요약 정리 하면 GET 방식은 POST 방식에 비해 전송 속도가 빠르고 간단한 정보를 보내기 위해 사용이 유용하며,

POST 방식은 GET 방식에 비해 전송 속도가 조금 느리지만 보안된 내용을 보낼때 매우 유용합니다.

 

다음장에선 PHP 고급기능에 대해서 설명하겠습니다. (뭐 말이 고급기능이지 크게 어려운건 없습니다 ^^)

 

반응형

'PHP > PHP Basic' 카테고리의 다른 글

PHP Form 구문  (1) 2013.06.17
PHP Function(함수)  (0) 2013.06.14
PHP 반복문(while, for, foreach)  (0) 2013.06.13
PHP Sorting Arrays(정렬 배열)  (0) 2013.06.12
PHP Array(배열) 문법  (0) 2013.06.11