欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP的post数据与request数据

程序员文章站 2022-05-14 11:34:57
...

PHP的post数据与request数据

PHP的post数据与request数据

$_POST变量(数组)

类似$_GET变量(数组),$_POST代表页面通过post方式提交过来的数据所形成的数组。

post提交数据,通常只有一种形式:

Project 1:

Project 2:

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.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语法形式会出现该情形,如下:

Project 1:

Project 2:

则此时,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数据同时提交并其中有重名时说明:

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”

输出所有项(可能每台服务器有所差异): 9000000000000000