English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기초 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 가이드

PHP GET과 POST

이 튜토리얼에서는 HTTP GET과 POST 메서드를 사용하여 서버로 정보를 전송하는 방법과 PHP를 사용하여 정보를 검색하는 방법을 배울 것입니다.

서버로 정보를 전송하는 방법

웹 브라우저는 일반적으로 두 가지 HTTP(텍스트 전송 프로토콜) 메서드(GET과 POST) 중 하나를 통해 서버와 통신합니다. 두 메서드는 다른 방식으로 정보를 전달하며, 각각의 장단점이 있습니다.

GET 방법

GET 방법에서 데이터는 URL 파라미터로 전송되며, 일반적으로 "&" 기호로 구분된 이름과 값의 쌍으로 구성된 문자열로 전송됩니다. GET 데이터를 포함한 일반적인 URL은 다음과 같습니다:

http://www.example.com/action.php?name=john&age=24

URL에서는 철자가 두드러진 부분이 GET 매개변수이고, 기울어진 글자 부분이 이 매개변수의 값입니다. URL에 여러 개의 参数=값을 연결하여 & 기호를 사용할 수 있습니다. GET 방법을 통해 전송할 수 있는 것은 단순한 텍스트 데이터만입니다.

GET 방법의 장단점

  • GET 방법으로 전송되는 데이터가 URL에 표시되기 때문에 특정 쿼리 문자열 값에 대해 페이지에 책签을 추가할 수 있습니다.

  • GET 방법은 이름과 비밀번호와 같은 민감한 정보를 전달하는 데 적합하지 않습니다. 이러한 정보는 URL 쿼리 문자열에서 완전히 보이며, 클라이언트 브라우저의 메모리에 저장될 가능성이 있습니다.

  • GET 방법은 데이터가 서버 환경 변수에 할당되기 때문에 URL 길이가 제한됩니다. 따라서 전송할 수 있는 총 데이터는 제한됩니다。

PHP는 URL을 통해 전송되거나 method="GET" 방식으로 HTML 양식에서 제출된 모든 정보에 액세스할 수 있는 슈퍼 글로벌 변수 $_GET를 제공합니다。

<!DOCTYPE html>
<html>
<head>
    <title>온라인 예제 PHP GET 방법</title>
</head>
<?php
if(isset($_GET["name"])){
    echo \/p>";
}
?>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="제출">
</form>

POST 메서드

POST 메서드에서 데이터는 처리 스크립트와 함께 독립적인 통신으로 서버로 전송됩니다. POST 메서드를 통해 전송하는 데이터는 URL에서 볼 수 없습니다.

POST 메서드의 장단점

  • GET보다 더 안전합니다. 사용자가 입력한 정보는 결코 URL 쿼리 문자열이나 서버 로그에 보이지 않습니다.

  • 전송할 수 있는 데이터의 양에 대한 제한이 더 크며, 텍스트 데이터와 이진 데이터(업로드 파일)를 POST를 통해 전송할 수 있습니다.

  • POST 메서드를 통해 전송하는 데이터는 URL에서 볼 수 없기 때문에, 특정 쿼리를 사용하여 페이지에 책签을 추가할 수 없습니다.

$_GET과 유사하게, PHP는 POST 메서드를 통해 전송하거나 method="POST"를 통해 HTML 폼을 제출한 모든 정보에 액세스할 수 있는 또 다른 전역 변수 $_POST를 제공합니다.

<!DOCTYPE html>
<html>
<head>
    <title>온라인 예제 PHP POST 메서드</title>
</head>
<?php
if(isset($_POST["name"])){
    echo "<p>Hi, " . $_POST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="제출">
</form>

$_REQUEST 변수

PHP는 또 다른 전역 변수 $_REQUEST를 제공하며, 이 변수는 $_GET와 $_POST 변수의 값을 포함하고 $_COOKIE 전역 변수의 값을 포함합니다.

<!DOCTYPE html>
<html>
<head>
    <title>온라인 예제 PHP $_REQUEST 변수</title>
</head>
<?php
if(isset($_REQUEST["name"])){
    echo "<p>Hi, " . $_REQUEST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">Name:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="제출">
</form>

고급 부분에서 PHP에 대해 더 알게 될 것입니다. 쿠키폼 처리의더 많은 정보.

주의:전역 변수 $_GET, $_POST, $_REQUEST는 내장되어 있으며, 스크립트의 모든 범위에서 항상 사용할 수 있습니다.