PHP GET和POST方法的区别

PHP GET和POST方法的区别

浏览器客户端可以通过两种方式将数据传递给web服务器。

  • GET方法
  • POST方法

在发送数据之前,浏览器使用一种称为URL编码的方法对其进行加密。在该系统中,名称/值对使用等号连接,而不同的配对使用“&”分隔。空格用“+”符号替换,任何其他非字母数字字符都用十六进制值替换。数据编码后,传输到服务器。

现在让我们来看看各个方法并了解这些方法的工作原理。

GET方法

GET方法将编码的用户信息附加到页面请求中。问号字符将页面与编码内容分隔开。

  • GET方法生成一个长字符串,显示在服务器日志和浏览器的“位置”框中。
  • GET方法只能发送最多1024个字符。
  • 如果您需要将密码或其他敏感信息发送到服务器,请勿使用GET方法。
  • GET不能用于向服务器传递二进制数据,例如照片或Word文档。
  • QUERY STRING环境变量可用于获取通过GET方法发送的数据。
  • PHP提供一个关联数组$_GET,用于访问通过GET方法提供的所有信息。

代码:

<?php
   if( _GET["name"] ||_GET["age"] ) {
      echo "Welcome ". _GET['name']. "<br />";
      echo "You are "._GET['age']. " years old.";

      exit();
   }
?>
<html>
   <body>

      <form action = "<?php $_PHP_SELF ?>" method = "GET">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>

   </body>
</html>

POST方法

POST 方法使用 HTTP 头将数据发送到服务器。信息与 GET 方法指定的方式编码,并包含在名为 QUERY STRING 的头中。

  • POST 方法对传递的数据量没有限制。
  • POST 方法允许提交 ASCII 和二进制数据。
  • 因为使用 POST 方法提交的数据通过 HTTP 头路由,所以安全性取决于 HTTP 协议。您可以通过使用安全的 HTTP 来确保数据的安全性。
  • PHP 提供了一个关联数组 $_POST,用于访问通过 POST 方法提供的所有信息。

代码:

<?php
   if( _POST["name"] ||_POST["age"] ) {
      if (preg_match("/[^A-Za-z'-]/",_POST['name'] )) {
         die ("invalid name and name should be alpha");
      }
      echo "Welcome "._POST['name']. "<br />";
      echo "You are ". _POST['age']. " years old.";

      exit();
   }
?>
<html>
   <body>

      <form action = "<?php_PHP_SELF ?>" method = "POST">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>

   </body>
</html>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程