PHP의는 $ _GET과 $ _POST는 폼 데이터를 수집하는 데 사용되는 슈퍼 전역.
PHP - 간단한 HTML 양식
아래의 예는 두 개의 입력 필드 및 제출 버튼을 가진 단순 HTML 폼이 표시
예
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
»실행 예 유저가 위의 양식을 작성하고 전송 버튼을 클릭하면, 폼 데이터라는 PHP 파일을 처리를 위해 전송되는 "welcome.php" . 양식 데이터는 HTTP POST 메서드로 전송됩니다.
당신은 단순히 모든 변수를 에코 할 수 제출 된 데이터를 표시합니다. "welcome.php" 다음과 같습니다 :
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
출력은 다음과 같이 될 수있다 :
Welcome John
Your email address is [email protected]
같은 결과는 또한 HTTP GET 메소드를 사용하여 달성 될 수있다 :
예
<html>
<body>
<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
»실행 예 그리고 "welcome_get.php" 다음과 같습니다 :
<html>
<body>
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
</body>
</html>
위의 코드는 매우 간단합니다. 그러나 가장 중요한 것은 없습니다. 당신은 악성 코드에서 스크립트를 보호하기 위해 폼 데이터의 유효성을 검사해야합니다.
PHP 양식을 처리 할 때 보안을 생각!
이 페이지는 어떤 형태의 유효성 검사를 포함하지 않는, 그냥 보내고 폼 데이터를 검색하는 방법을 보여줍니다.
그러나, 다음 페이지는 보안을 염두에두고 PHP 양식을 처리하는 방법을 보여줍니다! 폼 데이터의 적절한 검증은 해커와 스패머에서 양식을 보호하는 것이 중요!
POST 대 GET
모두 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.
Note: 암호 또는 기타 민감한 정보를 전송하기 위해 사용해서는 안됩니다 GET!
때 POST를 사용 하는가?
POST 메소드와 형태로 전송되는 정보는 다른 사람에게 보이지 않는다 (all names/values are embedded within the body of the HTTP request) 및 전송할 정보의 양에는 제한이 없다.
서버에 파일을 업로드하는 동안 또한 POST는 여러 부분으로 바이너리 입력에 대한 지원과 같은 고급 기능을 지원합니다.
변수가 URL에 표시되지 않기 때문에 그러나,이 페이지를 즐겨 찾기에 추가 할 수 없습니다.
개발자는 폼 데이터를 전송하기 위해 POST를 선호합니다.
다음으로, 우리는 PHP 양식에게 안전한 방법을 처리 할 수있는 방법을 볼 수 있습니다!