PHP $_POST 변수LOGIN

PHP $_POST 변수

위 섹션에서는 $_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'];
 ?>

프로그램 실행 결과:

2.png

알겠습니다. POST를 사용하여 제출한 정보는 Url 열에 표시되지 않으므로 이제 POST가 GET


<보다 안전하다는 것을 알 수 있습니다. 🎜>GET과 POST의 차이점:

  1. get은 서버에서 데이터를 얻는 것이고, post는 서버로 데이터를 전송하는 것입니다.

  2. get은 제출된 양식의 ACTION 속성이 가리키는 URL에 매개변수 데이터 대기열을 추가합니다. 값은 다음에서 볼 수 있는 양식의 각 필드에 해당합니다. URL. Post는 HTTP 게시 메커니즘을 사용하여 양식의 각 필드와 해당 콘텐츠를 HTML HEADER에 배치하고 이를 ACTION 속성이 가리키는 URL 주소로 전송합니다. 사용자는 이 프로세스를 볼 수 없습니다.

  3. 서버측에서는 get 메소드의 경우 Request.QueryString을 사용하여 변수의 값을 가져옵니다. post 메소드의 경우 서버측에서는 Request.Form을 사용하여 변수 값을 가져옵니다. 제출된 데이터.

  4. get으로 전송되는 데이터의 양은 적으며 2KB를 초과할 수 없습니다. 우편으로 전송되는 데이터의 양은 상대적으로 크며 일반적으로 기본적으로 제한이 없습니다. 그러나 이론상 최대 용량은 IIS4에서는 80KB, IIS5에서는 100KB입니다.

  5. get 보안은 매우 낮고 사후 보안은 높습니다. 하지만 실행 효율성은 Post 방식보다 좋습니다.



제안: 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로 수신할 수 있습니다



다음 섹션
<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>
코스웨어