- PHP教程
 - PHP-主页
 - PHP - 简介
 - PHP-环境设置
 - PHP - 语法概述
 - PHP - 变量类型
 - PHP - 常量
 - PHP - 运算符类型
 - PHP - 决策
 - PHP - 循环类型
 - PHP-数组
 - PHP-字符串
 - PHP - 网络概念
 - PHP - 获取和发布
 - PHP - 文件包含
 - PHP - 文件和 I/O
 - PHP - 函数
 - PHP-Cookie
 - PHP-会话
 - PHP - 发送电子邮件
 - PHP-文件上传
 - PHP - 编码标准
 
- 高级PHP
 - PHP - 预定义变量
 - PHP-正则表达式
 - PHP - 错误处理
 - PHP - 错误调试
 - PHP - 日期和时间
 - PHP 和 MySQL
 - PHP 和 AJAX
 - PHP 和 XML
 - PHP——面向对象
 - PHP - 面向 C 开发人员
 - PHP - 适合 PERL 开发人员
 
- PHP 表单示例
 - PHP-表单介绍
 - PHP - 验证示例
 - PHP - 完整表格
 
- PHP框架作品
 - PHP-框架工程
 - PHP - 核心 PHP 与 Frame Works
 
- PHP 设计模式
 - PHP - 设计模式
 
- PHP 函数参考
 - PHP - 内置函数
 
- PHP 有用资源
 - PHP - 问题与解答
 - PHP - 有用的资源
 - PHP - 讨论
 
PHP - GET 和 POST 方法
浏览器客户端可以通过两种方式向 Web 服务器发送信息。
- 获取方法
 - POST 方法
 
在浏览器发送信息之前,它使用一种称为 URL 编码的方案对其进行编码。在此方案中,名称/值对用等号连接,不同的对用 & 符号分隔。
name1=value1&name2=value2&name3=value3
空格将被删除并替换为+字符,任何其他非字母数字字符将替换为十六进制值。信息被编码后被发送到服务器。
获取方法
GET 方法发送附加到页面请求的编码用户信息。页面和编码信息由?分隔。特点。
http://www.test.com/index.htm?name1=value1&name2=value2
GET 方法会生成一个长字符串,该字符串出现在服务器日志中的浏览器位置:框中。
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>
 
它将产生以下结果 -
POST 方法
POST 方法通过 HTTP 标头传输信息。该信息按照 GET 方法中的描述进行编码,并放入名为 QUERY_STRING 的标头中。
POST 方法对发送的数据大小没有任何限制。
POST 方法可用于发送 ASCII 和二进制数据。
POST 方法发送的数据经过 HTTP 标头,因此安全性取决于 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>
它将产生以下结果 -
$_REQUEST 变量
PHP $_REQUEST 变量包含 $_GET、$_POST 和 $_COOKIE 的内容。当我们解释 cookies 时,我们将讨论 $_COOKIE 变量。
PHP $_REQUEST 变量可用于获取通过 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 变量包含调用它的 self 脚本的名称。
它将产生以下结果 -

