PHP - GET&POST

PHP - GET&POST 首页 / PHP入门教程 / PHP - GET&POST

浏览器客户端可以通过两种方式将信息发送到Web服务器。

  • GET    方法
  • POST 方法

在浏览器发送信息之前,它使用称为URL编码的方案对其进行编码。在此方案中,name/value对以等号连接,而不同的对之间用&分隔。

name1=value1&name2=value2&name3=value3

空格将被删除并用 + 字符替换,其他任何非字母数字字符都将替换为十六进制值。信息编码后,将其发送到服务器。

GET 方法

GET方法发送附加到页面请求的编码用户信息。页面和编码信息由?字符分隔。

http://www.test.com/index.htm?name1=value1&name2=value2
  • GET方法只能发送最多1024个字符。

  • 如果您有密码或其他敏感信息要发送到服务器,请不要使用GET方法。

  • GET不能用于将二进制数据(如图像或Word文档)发送到服务器。

  • 可以使用QUERY_STRING环境变量访问GET方法发送的数据。

  • PHP提供了 $_GET 关联数组,以使用GET方法访问所有已发送的信息。

通过将源代码放入test.php脚本中来尝试以下示例。

<?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>

它将产生以下输出-

Forms

POST 方法

POST方法通过HTTP标头传输信息。该信息按照GET方法的说明进行编码,然后放入称为QUERY_STRING的标头中。

  • POST方法对要发送的数据大小没有任何限制。

  • POST方法可用于发送ASCII以及二进制数据。

  • POST方法发送的数据通过HTTP标头传递,因此安全性取决于HTTP协议。

  • PHP提供了 $_ POST 关联数组,以使用POST方法访问所有已发送的信息。

通过将源代码放入test.php脚本中来尝试以下示例。

<?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>

它将产生以下输出-

Forms

$_REQUEST 变量

PHP $_REQUEST变量包含$_GET,$_ POST和$_COOKIE的内容。可用于从通过GET和POST方法发送的表单数据中获取输出。

通过将源代码放入test.php脚本中来尝试以下示例。

<?php
   if( $_REQUEST["name"] || $_REQUEST["age"] ) {
      echo "Welcome ". $_REQUEST['name']. "<br />";
      echo "You are ". $_REQUEST['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>

$_PHP_SELF变量包含在其中调用自脚本的名称。

它将产生以下输出-

Forms

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始做增长 -〔刘津〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

Kafka核心源码解读 -〔胡夕〕

To B市场品牌实战课 -〔曹林〕

说透数字化转型 -〔付晓岩〕

Redis源码剖析与实战 -〔蒋德钧〕

郭东白的架构课 -〔郭东白〕

大型Android系统重构实战 -〔黄俊彬〕

后端工程师的高阶面经 -〔邓明〕

好记忆不如烂笔头。留下您的足迹吧 :)