PHP的post数据与request数据
2015-11-10 13:01
603 查看
PHP的post数据与request数据
$_POST变量(数组)
类似$_GET变量(数组),$_POST代表页面通过post方式提交过来的数据所形成的数组。
post提交数据,通常只有一种形式:
<form action="abc.php" method="post">
Project 1:<input type="text" name="uName" />
Project 2:<input type="password" name="uPswd" />
<input type="submit" value="Submit" />
</form>
其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)
<?php
$v1 = $_POST['uName']; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标)
$v2 = $_POST['uPswd']; //该键名必须跟提交的时候的名字完全一致(区分大小写)
//也可以显示所有post数据:
var_dum($_POST)
?>
接收post数据的形式为:(在abc.php网页中)
通常,网页中的form表单,一般都用post方式,get方式一般都体现在其它3种形式
$_REQUEST变量(数组)
$_REQUEST数组,其实并不是一个独立的数据来源,而是$POST数据和$_GET数据的“总和”
即$_REQUEST数组中包括了所有$_POST数据和$_GET数据--其实是由系统内部自动存储的。
通常,$_POST数据和$_GET数据不会“同时出现”,$_REQUEST数组就代表了其中之一。
get与post数据同时提交的情形:
此时,一般只有一种html语法形式会出现该情形,如下:
<form action="abc.php?a=5&b=10" method="post">
Project 1:<input type="text" name="uName" />
Project 2:<input type="password" name="uPswd" />
<input type="submit" value="Submit" />
</form>
则此时,uName和uPswd两个数据以post方式提交给abc.php
并同时:a=5 和 b=10两个数据,以get方式提交给abc.php
则在页面中这样取得get数据:
$v1 = $_GET['a'];
$v2 = $_GET['b];
这样取得 post数据:
$v3 = $_POST['uName'];
$v4 = $_POST['uPswd'];
但,也可以这样取得全部数据: $v1 = $_REQUEST['a'];
$v2 = $_REQUEST['b]; $v3 = $_REQUEST['uName'];
$v4 = $_REQUEST['uPswd']
当get数据和post数据同时提交并其中有重名时说明:
![](http://s4.51cto.com/wyfs02/M01/75/C1/wKioL1ZB0guxMIlkAABmi-th574335.jpg)
1:尽量避免重名2:如果重名了,此时$_REQUEST只会记录(存储)其中一个数据(要么get数据,要么post数据)3:至于记录的是哪个,是由php.ini中的一个设置来决定的 request_order = "GP"; //这是默认值,G代表GET,P代表POST
其含义是:先存储GET数据,再存储POST数据
由此可见,如果重名,此时POST数据会覆盖GET数据
改为:request_order = "PG",顺序反过来。。。。。
注:$_REQUEST、$_GET、$_POST三种数据相互独立!
$_SERVER变量(数组) 该变量存储了服务器端或客户端的一些请求信息或设置信息,比较多,而且不同的服务器和不同的请求页面,其数据项都可能不同。
常用的有:
REMOTE_ADDR 用户的IP地址
SERVER_ADDR 服务器端的IP地址
SERVER_NAME 服务器名(主机名)
DOCUMENT_ROOT 站点绝对路径(其实就是主机设置中的DocumentRoot
PHP_SELF 当前网页的文件路径
QUEER_STRING 表示一个get请求的整体字体串,类似这样: http://www.abc.com/abc.php?a=5&b=10 链接地址中的 “a=5&b=10”
输出所有项(可能每台服务器有所差异):
![](http://s3.51cto.com/wyfs02/M01/75/C3/wKiom1ZB2uHADGjzAABFo-ICEzQ976.jpg)
$GLOBALS变量(数组)
似乎是一个多余的变量:它只是把我们自己定义的所有全局变量存储到该数组中:
变量名就是该数组的下标(键名),变量值就是对应的值。
![](http://s3.51cto.com/wyfs02/M00/75/C1/wKioL1ZB3OmiRoqXAADOIy2tDS4771.jpg)
由上图代码可以看出,$v1 and $v2 被输出,而函数中的 $v3 and $v4 没有被输出!
$_POST变量(数组)
类似$_GET变量(数组),$_POST代表页面通过post方式提交过来的数据所形成的数组。
post提交数据,通常只有一种形式:
<form action="abc.php" method="post">
Project 1:<input type="text" name="uName" />
Project 2:<input type="password" name="uPswd" />
<input type="submit" value="Submit" />
</form>
其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)
<?php
$v1 = $_POST['uName']; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标)
$v2 = $_POST['uPswd']; //该键名必须跟提交的时候的名字完全一致(区分大小写)
//也可以显示所有post数据:
var_dum($_POST)
?>
接收post数据的形式为:(在abc.php网页中)
通常,网页中的form表单,一般都用post方式,get方式一般都体现在其它3种形式
$_REQUEST变量(数组)
$_REQUEST数组,其实并不是一个独立的数据来源,而是$POST数据和$_GET数据的“总和”
即$_REQUEST数组中包括了所有$_POST数据和$_GET数据--其实是由系统内部自动存储的。
通常,$_POST数据和$_GET数据不会“同时出现”,$_REQUEST数组就代表了其中之一。
get与post数据同时提交的情形:
此时,一般只有一种html语法形式会出现该情形,如下:
<form action="abc.php?a=5&b=10" method="post">
Project 1:<input type="text" name="uName" />
Project 2:<input type="password" name="uPswd" />
<input type="submit" value="Submit" />
</form>
则此时,uName和uPswd两个数据以post方式提交给abc.php
并同时:a=5 和 b=10两个数据,以get方式提交给abc.php
则在页面中这样取得get数据:
$v1 = $_GET['a'];
$v2 = $_GET['b];
这样取得 post数据:
$v3 = $_POST['uName'];
$v4 = $_POST['uPswd'];
但,也可以这样取得全部数据: $v1 = $_REQUEST['a'];
$v2 = $_REQUEST['b]; $v3 = $_REQUEST['uName'];
$v4 = $_REQUEST['uPswd']
当get数据和post数据同时提交并其中有重名时说明:
![](http://s4.51cto.com/wyfs02/M01/75/C1/wKioL1ZB0guxMIlkAABmi-th574335.jpg)
1:尽量避免重名2:如果重名了,此时$_REQUEST只会记录(存储)其中一个数据(要么get数据,要么post数据)3:至于记录的是哪个,是由php.ini中的一个设置来决定的 request_order = "GP"; //这是默认值,G代表GET,P代表POST
其含义是:先存储GET数据,再存储POST数据
由此可见,如果重名,此时POST数据会覆盖GET数据
改为:request_order = "PG",顺序反过来。。。。。
注:$_REQUEST、$_GET、$_POST三种数据相互独立!
$_SERVER变量(数组) 该变量存储了服务器端或客户端的一些请求信息或设置信息,比较多,而且不同的服务器和不同的请求页面,其数据项都可能不同。
常用的有:
REMOTE_ADDR 用户的IP地址
SERVER_ADDR 服务器端的IP地址
SERVER_NAME 服务器名(主机名)
DOCUMENT_ROOT 站点绝对路径(其实就是主机设置中的DocumentRoot
PHP_SELF 当前网页的文件路径
QUEER_STRING 表示一个get请求的整体字体串,类似这样: http://www.abc.com/abc.php?a=5&b=10 链接地址中的 “a=5&b=10”
输出所有项(可能每台服务器有所差异):
![](http://s3.51cto.com/wyfs02/M01/75/C3/wKiom1ZB2uHADGjzAABFo-ICEzQ976.jpg)
$GLOBALS变量(数组)
似乎是一个多余的变量:它只是把我们自己定义的所有全局变量存储到该数组中:
变量名就是该数组的下标(键名),变量值就是对应的值。
![](http://s3.51cto.com/wyfs02/M00/75/C1/wKioL1ZB3OmiRoqXAADOIy2tDS4771.jpg)
由上图代码可以看出,$v1 and $v2 被输出,而函数中的 $v3 and $v4 没有被输出!
相关文章推荐
- GDI+ 使用指南(basic guiding of GDI plus )
- [leetcode-303]Range Sum Query - Immutable
- UISegmentedControl分段视图
- UITableView 相关属性及方法介绍
- UIScrollView滚动视图属性及方法介绍
- ULK --- Chap3 Processes: Handling Wait Queues
- getRequestDispatcher()与sendRedirect()的区别
- 缓解 SQL Server has encountered 727 occurrence(s) of I/O requests taking longer than 15 seconds
- A beginner’s guide to collecting Twitter data (and a bit of web scraping)
- OC结构体、NSNumber、NSValue、NSDate
- [LeetCode] Range Sum Query - Immutable 区域和检索 - 不可变
- iOS-----UIScrollView
- quick-3.6源码修改纪录
- Builder模式在Android自定义底部对话框的实现
- 使用非 GUI 模式运行 JMeter 压力测试
- 关于elementary OS 64bit UEFI启动修复
- UITabBarController用法
- String,StringBuilder的区别
- easyui validatebox 验证类型
- IOS中UITableViewCell使用详解