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>

PHP 강좌