PHP $_POST 변수
PHP에서는 미리 정의된 $_POST 변수를 사용하여 method="post"를 사용하여 폼에서 값을 수집합니다.
$_POST 변수
미리 정의된 $_POST 변수는 method="post" 값에서 양식을 수집하는 데 사용됩니다. 안에 .
POST 메소드를 사용하여 양식에서 전송된 메시지는 누구에게도 보이지 않으며(브라우저의 주소 표시줄에 표시되지 않음) 전송되는 정보의 양에는 제한이 없습니다.
참고: 그러나 기본적으로 POST 메서드로 전송되는 최대 정보량은 8MB입니다(php.ini 파일에서 post_max_size를 설정하여 변경할 수 있음).
Instance
form.html 파일 코드는 다음과 같습니다.
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="fname"> 年龄: <input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html>
사용자가 "제출" 버튼을 클릭하면 URL은 다음과 유사합니다.
언제 method="post"를 사용합니까?
POST 메소드를 사용하여 양식에서 전송된 정보는 누구에게도 표시되지 않으며 전송되는 정보의 양에는 제한이 없습니다.
단, URL에 변수가 나타나지 않기 때문에 해당 페이지를 북마크할 수 없습니다.
PHP $_REQUEST 변수
미리 정의된 $_REQUEST 변수에는 $_GET, $_POST 및 $_COOKIE의 내용이 포함되어 있습니다.
$_REQUEST 변수는 GET 및 POST 메소드를 통해 전송된 양식 데이터를 수집하는 데 사용할 수 있습니다.
예
"welcome.php" 파일을 $_GET, $_POST 및 기타 데이터를 허용하는 다음 코드로 수정할 수 있습니다.
환영합니다<?php echo $_REQUEST["fname"] ?>!<br>
귀하의 연령은<?php echo $_REQUEST["age"] ?> ;
GET과 POST 값 전송 방식의 차이점:
1. Get은 폼에 있는 데이터를 다음과 같은 형식으로 추가합니다. 변수=값 액션이 가리키는 URL 뒤에는 "?"를 사용하여 둘을 연결하고, 각 변수는 "&"를 사용하여 연결합니다. Post는 폼의 데이터 본문에 다음과 같이 데이터를 넣습니다. 해당 작업이 가리키는 URL에 전달되는 변수 및 값.
2. 전송 과정에서 데이터가 요청된 URL에 배치되고 많은 기존 서버, 프록시 서버 또는 사용자 에이전트가 요청 URL을 로그 파일에 기록하므로 안전하지 않습니다. 일부 개인정보를 제3자가 볼 수 있는 곳. 또한 사용자는 제출된 데이터를 브라우저에서 직접 볼 수도 있으며 일부 내부 시스템 메시지가 사용자 앞에 표시됩니다. 모든 게시 작업은 사용자에게 표시되지 않습니다.
3. 주로 URL 길이 제한으로 인해 전송되는 데이터 양이 적습니다. 반면 Post는 많은 양의 데이터를 전송할 수 있으므로 파일 업로드 시 Post만 사용할 수 있습니다. 또 다른 이유는 나중에 논의할 것입니다).
4. Get은 양식 형식의 데이터 세트 값을 ASCII 문자로 제한하지만 Post는 전체 ISO10646 문자 세트를 지원합니다.
5. Get은 Form의 기본 메소드입니다.
다음 섹션