위 섹션에서는 $_GET 변수에 대해 이야기했으므로 이번 섹션에서는 method="post"를 사용하여 양식의 값을 수집하는 $_POST 변수에 대해 알아봅니다.
$_POST 변수
미리 정의된 $_POST 변수는 method="post"를 사용하여 양식에서 값을 수집하는 데 사용됩니다.
POST 메소드를 사용하여 양식에서 전송된 메시지는 누구에게도 보이지 않으며(브라우저의 주소 표시줄에 표시되지 않음) 전송되는 정보의 양에는 제한이 없습니다.
참고: 그러나 기본적으로 POST 메서드로 전송되는 최대 정보량은 8MB입니다(php.ini 파일에서 post_max_size를 설정하여 변경할 수 있음).
이제 예문으로 살펴보겠습니다
예문
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="php_post.php" method="post"> 名字: <input type="text" name="name"><br> 性别:<input type="radio" name="sex" value="男" checked>男 <input type="radio" name="sex" value="女">女<br> 年龄: <input type="text" name="age"><br> <input type="submit" value="提交"> </form> </body> </html>
php_post.php 페이지에 제출됨
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo "你的姓名是:" .$_POST['name'] ."<br/>"; echo "你的性别是:" .$_POST['sex']."<br/>"; echo "你的年龄是:".$_POST['age']; ?>
프로그램 실행 결과:
알겠습니다. POST를 사용하여 제출한 정보는 Url 열에 표시되지 않으므로 이제 POST가 GET
<보다 안전하다는 것을 알 수 있습니다. 🎜>GET과 POST의 차이점:
get은 제출된 양식의 ACTION 속성이 가리키는 URL에 매개변수 데이터 대기열을 추가합니다. 값은 다음에서 볼 수 있는 양식의 각 필드에 해당합니다. URL. Post는 HTTP 게시 메커니즘을 사용하여 양식의 각 필드와 해당 콘텐츠를 HTML HEADER에 배치하고 이를 ACTION 속성이 가리키는 URL 주소로 전송합니다. 사용자는 이 프로세스를 볼 수 없습니다.
제안: 1. For를 포함하여 get 메소드는 post 메소드보다 덜 안전합니다. 기밀 정보인 경우에는 Post 데이터 제출 방식을 사용하는 것이 좋습니다.
2. 데이터 쿼리 시 데이터 추가, 수정, 삭제 시에는 Get 메서드를 사용하는 것이 좋습니다. Post 방법을 사용하는 것이 좋습니다.
PHP $_REQUEST 변수
미리 정의된 $_REQUEST 변수에는 $_GET, $_POST 및 $_COOKIE의 내용입니다.
$_REQUEST 변수는 GET 및 POST 메소드를 통해 전송된 양식 데이터를 수집하는 데 사용할 수 있습니다.
위 php 파일을 수정해서 살펴보세요
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo "你的姓名是:" .$_REQUEST['name'] ."<br/>"; echo "你的性别是:" .$_REQUEST['sex']."<br/>"; echo "你的年龄是:".$_REQUEST['age']; ?>
$_POST로 제출하든 $_GET로 제출하든 $_REQUEST로 수신할 수 있습니다