컴퓨터 세상/PHP

PHP - $_GET, $_POST 변수

Jimin Daddy 2020. 7. 11. 11:22

** $_GET 변수 배열

  - GET  방식을 통하여 HTTP 프로토콜의 GET 방식을 통해 사용자가 서버에 문서를

    요청하였을 때 URL을 통해 전송된 데이터를 각각의 원소로 가지는 배열 변수.

    ex) <html>

            <body>

            <form method = "GET" action = "process.php">  // get 방식을 통하여 process.php 파일에 데이터 전송

            <input type="text" name="id"> <br>

            <input type="text" name="email">

            <input type="submit" value="전송">

            </form>

            </body>

           </html>

위와 같이 get 방식을 통해 전송된 데이터 id와 email에 대하여 사용자가 입력한 값을

process.php에 전달한다.

process.php파일에서 

<? echo "아이디 : <b>". $_GET["id"] . "</b><br>;

    echo "이메일 : <b>". $_GET["email"] . "</b><br>;

?>

위의 문장으로 사용자가 직접 입력한 값을 출력할 수 있다.

GET 방식의 경우 URL의 뒤에 "?" 뒤에 넘기고자 하는 변수와 그 값을 "="로 구분하여 전송하는 방식.

여러개일 경우 &로 구분하여 전송.

또한 URL을 통하여 전송하므로 데이터 양에 한계가 있으며, 전송하는 도중 다른 값으로 변질될 수도 있다는 단점이 존재. 간단하게 보낼 때 편리

** $_POST

POST 방식은 데이터를 URL이 아닌 HTTP 헤더에 포함시켜 전송하기 때문에 데이터의 크기에 제한이 없고, 데이터가 URL에 노출되지 않기 때문에 GET방식에 비해 안전하다

$_GET과 $_POST는 서로 상호작용이 안된다.

ex) <form method ="POST" action = "process.php">

     사용은 

     <? 

         echo "아이디 : <b> ". $_POST["id"]. "<b><br>";

         echo "이메일 : <b> ". $_POST["email"] . "<b><br>";

     ?>

위의 장점들 때문에 간단하게 보낼시에는 GET방식을 쓰지만 대부분은 POST 방식을 사용한다.