FavoriteLoading
0

PHP自学get和post数据同时提交的情形

一般就只有一种html语法形式会出现该情形,如下:

<form  action="abc.php?a=5&b=10"  method="POST" > ...

项目1: <input type=”text”   name=”uName”   />

项目2: <input type=”password”   name=”uPswd”   />

<input type=”submit”  value=”提交”  />

</form>

则此时,uName和uPswd两个数据以post方式提交给abc.php,

并,同时:a=5和b=10两个数据,以get方式提交给abc.php

则在页面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数据同时提交并其中有重名的时候,情况怎么样呢?

说明:

1,尽量避免重名;

2,如果重名了,此时$_REQUEST只会记录(存储)其中一个数据(要么post数据,要么get数据)

3,至于记录的是哪个,是有php.ini中的一个设置项来决定:

3.1  request_order = “GP”;  //这是默认值,G代表GET,P代表POST

3.2  含义是:先存储GET数据,再存储POST

3.3  可见如果重名,此时POST就会覆盖GET数据

3.4  改为:request_order = “PG”, 顺序反过来

结果为:

然后去php.ini中,修改为:request_order = “PG”

同样的数据,结果却为:

  • $_GET, $_POST, $_REQUEST三种数据是相互独立的。
欢迎分享本文,转载请保留出处!—重蔚自留地 站长邮箱:951076433@qq.com