- 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 脚本的名称。
它将产生以下结果 -