반응형
`
안녕하세요 한주현 입니다!
오늘은 간단한 예제를 통해 php에서 GET, POST 요청에 대한 처리를 해보겠습니다.
들어가며
우리가 php로 만들고 싶은것은 다음과 같습니다.
1. <form> 에 텍스트를 받는 <input>
2. <form> 을 전송하는 submit 버튼
3. submit 으로 전송된 데이터를 표현하는 페이지
세 가지 사항을 GET 과 POST 로 구현한다.
GET
1. GET 을 사용한 <form> 에 <input> 으로 텍스트를 받고 submit 버튼이 있는 페이지
get.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!DOCTYPE html> <html> <head> <title></title> </head> <body> <div>GET test</div> <form action="get_result.php" method="get"> <input type="text" name="id" placeholder="Enter id here"> <input type="text" name="age" placeholder="Enter age here"> <input type="submit" value="Submit"> </form> </body> </html> |
<form> 태그의 속성으로 action="get_result.php" 를 넣었고
method="get" 으로 하였습니다.
이는 form 안의 데이터를 get 방식으로 get_result.php 로 넘기겠다는 얘기 입니다.
페이지를 작성하고 열어보면 아래와 같이 나올 것 입니다.
여기서 넘기는 데이터는 input 태그에 있는데,
첫 번째 input 은 name="id" 이고
두 번째 input 은 name="age" 입니다.
input text 의 값이 name에 들어간 "id" 와 "age" 를 key로 하여 get_result.php 에 넘어갑니다.
submit을 눌렀을 때 실행되는 get_result.php 를 아래에서 만들어 보겠습니다.
2. GET 으로 넘어온 데이터 받는 페이지
get_result.php
1 2 3 4 5 6 7 8 | <!DOCTYPE html> <html> <head></head> <body> <p>ID: <?php echo $_GET["id"]; ?></p> <p>Age: <?php echo $_GET["age"]; ?></p> </body> </html> |
5, 6 번째 줄이 핵심이 되는 부분입니다.
이전 페이지에서 GET 으로 넘어온 데이터를
$_GET["id"] 와 $_GET["age"] 로 받아왔습니다 ㅎㅎ..
주소창에서 get_result.php?id=123&age=100 가 넘어온 데이터로
이렇게 두 개 이상의 데이터가 넘어올때는 key=val 이 & 로 연결되어 주소창에 표시됩니다.
POST
1. POST 를 사용한 <form> 에 <input> 으로 텍스트를 받고 submit 버튼이 있는 페이지
post.php
위의 get.php 와 다른점은 get 을 post 로 바꾼것 뿐입니다 ㅋㅋㅋ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!DOCTYPE html> <html> <head> <title></title> </head> <body> <div>POST test</div> <form action="post_result.php" method="post"> <input type="text" name="id" placeholder="Enter id here"> <input type="text" name="age" placeholder="Enter age here"> <input type="submit" value="Submit"> </form> </body> </html> |
<form> 태그의 속성으로 action="post_result.php" 를 넣었고
method="post" 로 하였습니다.
이는 form 안의 데이터를 post 방식으로 post_result.php 로 넘기겠다는 얘기 입니다.
페이지를 작성하고 열어보면 아래와 같이 나올 것 입니다.
여기서 넘기는 데이터는 input 태그에 있는데,
첫 번째 input 은 name="id" 이고
두 번째 input 은 name="age" 입니다.
input text 의 값이 name에 들어간 "id" 와 "age" 를 key로 하여 post_result.php 에 넘어갑니다.
submit을 눌렀을 때 실행되는 post_result.php 를 아래에서 만들어 보겠습니다.
2. POST 로 넘어온 데이터 받는 페이지
post_result.php
1 2 3 4 5 6 7 8 | <!DOCTYPE html> <html> <head></head> <body> <p>ID: <?php echo $_POST["id"]; ?></p> <p>Age: <?php echo $_POST["age"]; ?></p> </body> </html> |
5, 6 번째 줄이 핵심이 되는 부분입니다.
이전 페이지에서 POST 로 넘어온 데이터를
$_POST["id"] 와 $_POST["age"] 로 받아왔습니다 ㅎㅎ..
아니... 근데 여기서 차이가.. ㅋㅋ
위에서 GET은 주소창에 ?key1=val1&key2=val2 과 같은 형태로 나왔는데
POST는 없습니다?
네 맞습니다. POST 방식은 주소창에 나오지 않습니다 ㅎㅎ
3. 언제 GET 과 POST 를 사용하는가?
GET 과 POST 의 차이점이 무엇인가?
언제 GET 과 POST 를 사용하는가?
사실 이 질문은 간단한 면접 질문으로도 좋은 질문이라고 생각합니다 ㅎㅎ..
이곳 저곳 주워들은 지식으로 한 번 써보자면..
1) GET 은 주소에 값이 나오고 POST 는 주소에 값이 나타나지 않습니다.
2) 그래서 간단한 텍스트 값들은 GET 으로 넘겨도 되나 너무 긴 내용은 POST 로 넘겨야 합니다.
3) 또한 그림파일과 같이 binary 형태의 데이터는 GET 보다는 POST 로 넘겨야 합니다.
오늘은 php의 GET, POST 요청 처리를 알아보았습니다.
여러분께 도움이 되셨음 좋겠네요 ㅎㅎ
그럼 다음에 만나요~
기부 버튼을 만들었습니다
여러분들의 작은 정성이 저에게 큰 힘이 됩니다
기부해주신 분들을 기억하며
더 좋은 내용으로 보답해 드리겠습니다 :)
Donate 버튼은 paypal 결제로 paypal 계정이 없으시더라도
카드로도 기부 가능하십니다 :)
Use your credit card or bank account (where available). 옆의 continue 를 누르시면 됩니다
한주현 드림
반응형
댓글