继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP的post数据与request数据

代码写到手抽筋
关注TA
已关注
手记 294
粉丝 26
获赞 113

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

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”

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



$GLOBALS变量(数组)


    似乎是一个多余的变量:它只是把我们自己定义的所有全局变量存储到该数组中:

    变量名就是该数组的下标(键名),变量值就是对应的值。

由上图代码可以看出,$v1 and $v2 被输出,而函数中的 $v3 and $v4 没有被输出!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP