PHP / $_GET, $_POST - 양식(form)으로 전송된 데이터 받기
GET과 POST
HTML의 form을 이용하여 값을 전송하는 방식은 get과 post 두 가지가 있습니다. PHP로 그 값을 받아서 사용하는 방법을 알아봅니다.
GET 방식으로 전송한 경우
- 다음은 GET 방식으로 값을 전송하는 간단한 예제입니다.
form.php
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> * { font-size: 16px; font-family: Consolas, sans-serif; } </style> </head> <body> <form method="get" action="form-action.php"> <p><label>Color : <input type="text" name="color"></label></p> <p><label>Sport : <input type="text" name="sport"></label></p> <p><input type="submit" value="Submit"></p> </form> </body> </html>
- 값을 입력하고 Submit 버튼을 클릭하면...
- ?와 &를 이용하여 값을 전달합니다.
- GET 방식으로 전송된 값은 $_GET으로 받습니다.
form-action.php
<?php $color = $_GET['color']; $sport = $_GET['sport']; ?> <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> * { font-size: 16px; font-family: Consolas, sans-serif; } </style> </head> <body> <p>Color is <?php echo $color ?>.</p> <p>Sport is <?php echo $sport ?>.</p> </body> </html>
POST 방식으로 전송한 경우
- 다음은 POST 방식으로 값을 전송하는 간단한 예제입니다.
form.php
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> * { font-size: 16px; font-family: Consolas, sans-serif; } </style> </head> <body> <form method="post" action="form-action.php"> <p><label>Color : <input type="text" name="color"></label></p> <p><label>Sport : <input type="text" name="sport"></label></p> <p><input type="submit" value="Submit"></p> </form> </body> </html>
- POST 방식으로 값을 전달할 경우, URL에 아무 흔적이 남지 않습니다.
- POST 방식으로 전송된 값은 $_POST으로 받습니다.
form-action.php
<?php $color = $_POST['color']; $sport = $_POST['sport']; ?> <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> * { font-size: 16px; font-family: Consolas, sans-serif; } </style> </head> <body> <p>Color is <?php echo $color ?>.</p> <p>Sport is <?php echo $sport ?>.</p> </body> </html>