浏览器客户端可以通过两种方式将信息发送到Web服务器。
GET方法
POST方法
在浏览器发送信息之前,它使用称为URL编码的方案对其进行编码。在这个方案中,名称/值对用等号连接,不同的对用&号分开。如下 –
name=maxsu&key=value&key2=value2
空格将被删除并使用+字符替换,其他非字母数字字符被替换为十六进制值。信息编码后,发送到服务器。
1. GET方法
GET方法发送附加到页面请求的编码用户信息。页面和编码的信息由?字符。
http://www.yiibai.com/index.htm?name1=value1&name2=value2
GET方法会在浏览器的“位置”框中生成一个长字符串,该字符串将显示在服务器日志中。
GET方法仅限于发送多达1024个字符。
如果将密码或其他敏感信息发送到服务器,切勿使用GET方法。
GET不能用于将二进制数据(如图像或文档)发送到服务器。
通过GET方法发送的数据可以使用QUERY_STRING环境变量来访问。
PHP提供$_GET关联数组,以使用GET方法访问所有发送的信息。
将源代码放在get.php脚本文件中,试试下面的例子。
Get方法示例 <?php ini_set("display_errors", "Off"); if( $_GET["name"] || $_GET["age"] ) { echo "欢迎, ". $_GET['name']. ""; echo "你的年龄:". $_GET['age']. " 岁"; exit(); } ?> 名字: 年龄:
执行上面示例代码,得到以下代码 –
2. POST方法
POST方法通过HTTP标头传输信息。信息按照GET方法中的描述进行编码,并放入名为QUERY_STRING的标头中。
POST方法对要发送的数据大小没有任何限制。
POST方法可以用来发送ASCII以及二进制数据。
通过POST方法发送的数据通过HTTP头,因此安全性取决于HTTP协议。通过使用安全HTTP,可以确保信息是安全的。
PHP提供了$_POST关联数组来使用POST方法访问所有发送的信息。
将源代码放在post.php脚本中,试试下面的例子。
Post方法示例 <?php ini_set("display_errors", "Off"); if( $_POST["name"] || $_POST["age"] ) { echo "欢迎, ". $_POST['name']. ""; echo "你的年龄:". $_POST['age']. " 岁"; exit(); } ?> 名字: 年龄:
执行上面示例代码,得到以下结果 –
提交后,得到以下结果 –
$_REQUEST 变量
PHP $_REQUEST变量包含$_GET,$_POST和$_COOKIE的内容。我们将在Cookie章节中讨论$_COOKIE变量。
PHP $_REQUEST变量可用于从GET和POST方法发送的表单数据中获取结果。
将源代码放在request.php脚本中,试试下面的例子。
$_REQUEST变量示例 <?php ini_set("display_errors", "Off"); if( $_REQUEST["name"] || $_REQUEST["age"] ) { echo "欢迎, ". $_REQUEST['name']. ""; echo "你的年龄:". $_REQUEST['age']. " 岁"; exit(); } ?> 名字: 年龄:
这里$_PHP_SELF变量包含了被调用的自脚本的名称(即:request.php)。它会产生以下结果 –
提交后,得到以下结果 –
¥ 我要打赏 纠错/补充 收藏
哥,这回真没有了