PHP 양식 처리

PHP의 전역 변수 $_GET와 $_POST는 양식 데이터(form-data)를 수집하는 데 사용됩니다。

PHP - 간단한 HTML 양식

다음 예제는 간단한 HTML 양식을 보여줍니다. 두 개의 입력 필드와 제출 버튼이 포함되어 있습니다:

예제

<html>
<body>
<form action="welcome.php" method="post">
이름: <input type="text" name="name"><br>
이메일: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

실행 예제

사용자가 이 양식을 작성하고 제출 버튼을 클릭하면, 양식 데이터가 "welcome.php"라는 PHP 파일로 전송되어 처리됩니다. 양식 데이터는 HTTP POST 메서드로 전송됩니다.

제출된 데이터를 표시하려면 모든 변수를 간단히 출력(echo)할 수 있습니다. "welcome.php" 파일은 다음과 같습니다:

<html>
<body>
환영 <?php echo $_POST["name"]; ?><br>
귀하의 이메일 주소는: <?php echo $_POST["email"]; ?>
</body>
</html>

출력:

환영 Bill
귀하의 이메일 주소는 Bill.Gates@example.com입니다

HTTP GET 메서드를 사용하여도 동일한 결과를 얻을 수 있습니다:

예제

<html>
<body>
<form action="welcome_get.php" method="get">
이름: <input type="text" name="name"><br>
이메일: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

실행 예제

"welcome_get.php"는 이렇게 됩니다:

<html>
<body>
환영합니다 <?php echo $_GET["name"]; ?><br>
귀하의 이메일 주소는: <?php echo $_GET["email"]; ?>
</body>
</html>

위의 코드는 간단합니다. 그러나 가장 중요한 내용이 누락되었습니다. 양식 데이터를 검증하여 스크립트의 구멍을 막아야 합니다.

주의:PHP 양식을 처리할 때 보안에 주의하세요!

이 페이지에는 양식 검증 프로그램이 포함되어 있지 않으며, 양식 데이터를 전송하고 수신하는 방법을 보여줍니다.

그러나 나중의 장에서는 PHP 양식의 보안성을 높이는 방법을 설명할 것입니다! 양식에 적절한 보안 검증을 수행하는 것은 해커 공격과 스팸 메일을 방어하는 데 매우 중요합니다!

GET 대비 POST

GET과 POST는 모두 배열을 생성합니다(예를 들어, array(key => value, key2 => value2, key3 => value3, ...)입니다). 이 배열은 키/값 쌍을 포함하고 있으며, 키는 양식 컨트롤의 이름이고, 값은 사용자의 입력 데이터입니다.

GET과 POST는 $_GET과 $_POST로 간주됩니다. 이들은 전역 변수이며, 이들에 대한 접근은 스코프를 고려하지 않아도 됩니다. 특별한 코드 없이 어떤 함수, 클래스, 파일에서도 접근할 수 있습니다.

$_GET는 URL 파라미터를 통해 현재 스크립트로 전달된 변수 배열입니다.

$_POST는 HTTP POST를 통해 현재 스크립트로 전달된 변수 배열입니다.

何时使用 GET?

GET 메서드를 통해 양식에서 전송된 정보모든 사람들에게는可见的(모든 변수 이름과 값이 URL에 표시됩니다)。GET은 전송할 정보의 양에도 제한이 있습니다. 제한은 약 2000개의 문자로, 변수가 URL에 표시되기 때문에 페이지를 책签에 추가하는 것이 더 쉽습니다.

GET은 비민감 데이터를 전송하는 데 사용될 수 있습니다。

주석:절대로 GET을 통해 비밀번호나 다른 민감한 정보를 전송하지 마세요!

何时使用 POST?

POST 메서드를 통해 양식에서 전송된 정보다른 사람들에게是不可见的(모든 이름/값이 HTTP 요청의 본문에 포함됩니다),그리고 전송할 정보의 양에도 제한이 있습니다.제한 없음.

또한 POST는 파일을 서버로 업로드할 때 multi-part binary 입력을 포함한 고급 기능을 지원합니다.

그러나 변수가 URL에 표시되지 않기 때문에, 페이지를 책签에 추가할 수 없습니다.

ヒント:개발자들은 양식 데이터를 전송하는 데 POST를 선호합니다.

그럼 이제 PHP 양식을 안전하게 처리하는 방법을 살펴보겠습니다!