php 学习之变量 常量 与表单提交 - 主打产品 - 新余市思创暖通工贸有限公司
现在的位置: 主页 > 主打产品 > 文章正文
php 学习之变量 常量 与表单提交
作者:新余市思创暖通工贸有限公司 来源:www.jxsichuang.com 发布时间:2017-09-10 09:40:26
php 学习之变量 常量 与表单提交

1:预定义变量又叫超全局变量,包括:

$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION,

……….(大约10个)

2:作用域问题

PHP中,自定义的变量的作用域,分两种:全局作用域(函数外),局部作用域(函数内)。

但:

预定义变量的作用域称为“超全局作用域”:全局作用域 + 局部作用域的总和(函数内外全都可用)

3:数据类型问题:

超全局变量都是数组!

形式一:

<form action=”abc.php” method=”get” > 项目1: <input type=”text” name=”uName” /> 项目2: <input type=”password” name=”uPswd” /> <input type=”submit” value=”提交” /> </form>

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)

形式二:

<a href=http://www.2cto.com/kf/201612/”abc.php?uName=test1&uPswd=123” > 文字。。。</a>

其作用是:用户点击链接后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

形式三:

<script> location.href = “abc.php?uName=test1&uPswd=123”; //利用location对象的属性href </script>

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

形式四:

<script> location.assign( “abc.php?uName=test1&uPswd=123”); //利用location对象的方法assign() </script>

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

不管哪种形式的get提交过来的数据,获取数据是一样的: (在abc.php网页中)

<?php $v1 = $_GET[‘uName’]; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标) $v2 = $_GET[‘uPswd’]; //该键名必须跟提交的时候的名字完全一致(区分大小写) ?>

这里写图片描述

这里写图片描述

这里写图片描述

$_POST变量(数组)

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

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

<form action=”abc.php” method=”post” > 项目1: <input type=”text” name=”uName” /> 项目2: <input type=”password” name=”uPswd” /> <input type=”submit” value=”提交” /> </form>

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)

接收post数据的形式为: (在abc.php网页中)

<?php $v1 = $_POST[‘uName’]; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标) $v2 = $_POST[‘uPswd’]; //该键名必须跟提交的时候的名字完全一致(区分大小写) 也可以显示所有post数据: var_dump($_POST) ?> $_REQUEST变量(数组)

REQUEST数组,其实并不是一个独立的数据来源,而是_POST数据和GET数据的“总和”即_REQUEST数组中包括了所有POST数据和_GET数据——其实是由系统内部自动存储的。

通常,POST数据和_GET数据不会“同时出现”,$_REQUEST数组就代表了其中之一。

这里写图片描述

这里写图片描述

下面来看看:get和post数据同时提交的情形:

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

… 项目1: 项目2:

则此时,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数据

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:天门网站建设 http://tianmen.45qun.com


  • 上一篇:新站长如何挑选最好的虚拟主机空间方法
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 新余市思创暖通工贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100