PHP 튜토리얼

PHP 홈 PHP 소개 PHP 설치 PHP 구문 PHP 주석 PHP 변수 PHP 에코 / 인쇄 PHP 데이터 유형 PHP 문자열 PHP 숫자 PHP 수학 PHP 상수 PHP 연산자 PHP If...Else...Elseif PHP 스위치 PHP 루프 PHP 함수 PHP 배열 PHP 슈퍼글로벌 PHP 정규식

PHP 양식

PHP 양식 처리 PHP 양식 유효성 검사 PHP 양식 필요 PHP 양식 URL/이메일 PHP 양식 완성

PHP 고급

PHP 날짜 및 시간 PHP 포함 PHP 파일 처리 PHP 파일 열기/읽기 PHP 파일 생성/쓰기 PHP 파일 업로드 PHP 쿠키 PHP 세션 PHP 필터 PHP 필터 고급 PHP 콜백 함수 PHP JSON PHP 예외

PHP OOP

PHP OOP란? PHP 클래스/객체 PHP 생성자 PHP 소멸자 PHP 액세스 수정자 PHP 상속 PHP 상수 PHP 추상 클래스 PHP 인터페이스 PHP 특성 PHP 정적 메서드 PHP 정적 속성 PHP 네임스페이스 PHP 반복 가능

MySQL 데이터베이스

MySQL 데이터베이스 MySQL 연결 MySQL 생성 DB MySQL 테이블 생성 MySQL 삽입 데이터 MySQL 마지막 ID 가져오기 MySQL은 다중 삽입 MySQL 준비 MySQL 선택 데이터 MySQL 어디 MySQL 주문 기준 MySQL 데이터 삭제 MySQL 업데이트 데이터 MySQL 제한 데이터

PHP XML

PHP XML 파서 PHP SimpleXML 파서 PHP SimpleXML - 가져오기 PHP XML 국외 거주자 PHP XML DOM

PHP - AJAX

AJAX 소개 AJAX PHP AJAX 데이터베이스 AJAX XML AJAX 라이브 검색 AJAX 투표

PHP 예제

PHP 예제 PHP 컴파일러 PHP 퀴즈 PHP 연습 PHP 인증서

PHP 참조

PHP 개요 PHP 배열 PHP 캘린더 PHP 날짜 PHP 디렉토리 PHP 오류 PHP 예외 PHP 파일 시스템 PHP 필터 PHP FTP PHP JSON PHP 키워드 PHP 라이브러리 XML PHP 메일 PHP 수학 PHP 기타 PHP MySQLi PHP 네트워크 PHP 출력 제어 PHP 정규식 PHP SimpleXML PHP 스트림 PHP 문자열 PHP 변수 처리 PHP XML 파서 PHP 우편번호 PHP 시간대

PHP 양식 처리


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>

사용자가 위의 양식을 작성하고 제출 버튼을 클릭하면 처리를 위해 "welcome.php"라는 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 양식을 처리할 때 SECURITY를 생각하십시오!

이 페이지에는 양식 유효성 검사가 포함되어 있지 않으며 양식 데이터를 보내고 검색하는 방법만 보여줍니다.

그러나 다음 페이지에서는 보안을 염두에 두고 PHP 양식을 처리하는 방법을 보여줍니다! 양식 데이터의 적절한 유효성 검사는 해커와 스팸 발송자로부터 양식을 보호하는 데 중요합니다!



GET 대 POST

GET과 POST는 모두 배열을 생성합니다(예: array( key1 => value1, 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는 서버에 파일을 업로드하는 동안 다중 부분 바이너리 입력 지원과 같은 고급 기능을 지원합니다.

그러나 URL에 변수가 표시되지 않기 때문에 페이지를 북마크할 수 없습니다.

개발자는 양식 데이터를 보낼 때 POST를 선호합니다.

다음으로 PHP 양식을 안전한 방법으로 처리하는 방법을 살펴보겠습니다!


PHP 연습

연습으로 자신을 테스트하십시오

연습:

아래 흰색 섹션의 양식이 제출되면 welcome.php에서 "이름" 필드의 값을 어떻게 출력할 수 있습니까?

<form action="welcome.php" method="get"> First name: <input type="text" name="fname"> </form>
<html> <body> Welcome <?php echo ; ?> </body> </html>