PHP 九种预定义超全局变量
2015-11-13 10:59
417 查看
PHP供提供了九种预定义超全局变量:
$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILE、 $_COOKIE、$_SESSION、 $GLOBALS。在这里,我们介绍其中的六种。
1.$_GET
原理图:
示例:
test.php页面
$_GET也可以接收表单以get方式提交数据。
2.$_POST
使用率最高。
描述:表单中通过Http POST方式提交的数据,会被封装到$_POST超全局数组中。
示例:
register.php
register2.php
① 安全性,POST高与GET;
② 数据传输大小,受限于浏览器,POST高于GET;
③ 保存到收藏夹,GET提交可以将数据保存到收藏夹,超链接默认是GET提交。
3.$_REQUEST
描述:$_REQUEST中可以包括$_GET/$_POST/$_COOKIE数组,所以我们可以理解为$_REQUEST包含了这些数组的信息。
示例:
① 不要经常使用$_REQUEST;
② 如果不确定是GET/POST请求时,可以这样
4.$_SERVER
描述:$_SERVER中主要包含了Http请求行和消息头的信息,同时还有服务器自己的一些信息,比如DOCUMENT_ROOT,SCRIPT_FILENAME等。
示例:
① 请求获取该页面的客户机的ip地址。
$_SERVER['REMOTE_ADDR']
② 显示服务器端apache的版本号和php版本号。
$_SERVER['SOFTWARE']
③ 根据$_SERVER的REQUEST_METHOD来决定使用_GET还是_POST方法接收数据。
④ 利用$_SERVER 的HTTP_REFERER 来防止盗链行为。
5.$_ENV
描述:环境变量。当我们希望获取服务器端的环境信息时,可以使用 $_ENV。在php5.3.5中,默认情况下不能使用$_ENV,你会得到空值,这是出于对安全的考虑。如果希望使用$_ENV,可以通过修改php.ini的variables_order ="EGPCS"(EGPCS是Environment、Get、Post、Cookies、Server的缩写)实现。但是在开发环境,我们不建议这样配置。
6.$GLOBALS
描述:包含了全部变量的全局组合数组。变量的名字就是数组的键。同时一个自定义的全局变量,也会自动的被$GLOBALS管理。
示例:
$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILE、 $_COOKIE、$_SESSION、 $GLOBALS。在这里,我们介绍其中的六种。
1.$_GET
原理图:
示例:
test.php页面
<?php //urlencode编码 echo "<a href='a.php?city=北京好&name=xiaoming'>传送数据</a>"; ?>a.php页面
<?php echo "<pre>"; echo print_r($_GET); echo "</pre>"; //如果希望指定取出某个数据,则可以通过下标名 echo $_GET['name']; ?>
$_GET也可以接收表单以get方式提交数据。
<form action=”a.php” method=”get”> //.... </from>
2.$_POST
使用率最高。
描述:表单中通过Http POST方式提交的数据,会被封装到$_POST超全局数组中。
示例:
register.php
<html> <head> <metahttp-equiv="content-type"conten="text/html;charset=utf-8"/> </head> <body> <h1>用户注册</h1> <formaction="register2.php" method="post"> 用户名:<input type="text"name="username"/></br> 密码:<input type="text"name="password"/></br> 性别:男<input type="radio"name="sex" value="men"/>女<input type="radio"name="sex" value="women"/></br> 你喜欢什么: <!--hobby是以数组的方式采集数据--> <inputtype="checkbox" name="hobby[]" value="跳舞">跳舞 <inputtype="checkbox" name="hobby[]" value="唱歌">唱歌 <inputtype="checkbox" name="hobby[]" value="篮球">篮球 <inputtype="checkbox" name="hobby[]" value="足球">足球</br> 你的所在地是: <selectname="city"> <optionvalue="beijing">北京</option> <optionvalue="tianjing">天津</option> <optionvalue="nanjing">南京</option> </select> <br/> 个人介绍: <textarea rows="10"cols="30" name="introduce"> </textarea></br> <input type="submit"value="提交"/> </form> </body> </html>
register2.php
<?php $name= $_POST['username']; $pwd= $_POST['password']; $sex= $_POST['sex']; $hobby= $_POST['hobby']; echo"个人信息如下:</br>"; echo"姓名:".$name."</br>"; echo"密码:".$pwd."</br>"; echo"性别:".$sex."</br>"; echo"兴趣爱好:"; foreach($hobbyas $key=>$value) echo$value."、"; echo"</br>"; echo"个人介绍:".$_POST['introduce']; ?>POST 提交 和GET 提交的区别:
① 安全性,POST高与GET;
② 数据传输大小,受限于浏览器,POST高于GET;
③ 保存到收藏夹,GET提交可以将数据保存到收藏夹,超链接默认是GET提交。
3.$_REQUEST
描述:$_REQUEST中可以包括$_GET/$_POST/$_COOKIE数组,所以我们可以理解为$_REQUEST包含了这些数组的信息。
示例:
<?php echo"<pre>"; echoprint_r($_REQUEST); echo"</pre>"; //如何取出某个值 //$_REQUEST既可以接收get请求的数据,也可以接收post请求的数据,以及cookie //所以这个变量,比较不可以信,不建议使用$_GET/$_POST echo$_REQUEST['aa']; ?>注意事项:
① 不要经常使用$_REQUEST;
② 如果不确定是GET/POST请求时,可以这样
if($_SERVER['http_method']=="post"){ $echo$_POST['名字']; }elseif($_SERVER['http_method']=="get"){ //用$_GET接收 }
4.$_SERVER
描述:$_SERVER中主要包含了Http请求行和消息头的信息,同时还有服务器自己的一些信息,比如DOCUMENT_ROOT,SCRIPT_FILENAME等。
示例:
① 请求获取该页面的客户机的ip地址。
$_SERVER['REMOTE_ADDR']
② 显示服务器端apache的版本号和php版本号。
$_SERVER['SOFTWARE']
③ 根据$_SERVER的REQUEST_METHOD来决定使用_GET还是_POST方法接收数据。
④ 利用$_SERVER 的HTTP_REFERER 来防止盗链行为。
5.$_ENV
描述:环境变量。当我们希望获取服务器端的环境信息时,可以使用 $_ENV。在php5.3.5中,默认情况下不能使用$_ENV,你会得到空值,这是出于对安全的考虑。如果希望使用$_ENV,可以通过修改php.ini的variables_order ="EGPCS"(EGPCS是Environment、Get、Post、Cookies、Server的缩写)实现。但是在开发环境,我们不建议这样配置。
6.$GLOBALS
描述:包含了全部变量的全局组合数组。变量的名字就是数组的键。同时一个自定义的全局变量,也会自动的被$GLOBALS管理。
示例:
<?php $a=900; echo "<pre>"; print_r($GLOBALS); echo "</pre>"; ?>
相关文章推荐
- tp框架插入数据之add用法
- 乐视云视频PHP接口操作视频上传,编辑,查询以及删除
- 【转】phpcms基础内容
- php邮箱地址正则表达式验证
- zend Studio常规设置
- ci Controller.php解析
- 几个ssh和sftp的命令
- PHP 关于empty和isset对于参数的判断结果
- THINKPHP载入CSS和JS的方法
- php 接受处理二进制数据流并保存成图片
- php的一些代码分页!
- PHP 魔术方法汇总
- PHP基于yii框架实现生成ICO图标
- PHPExcel(读取Excel文件)
- php基础 常用函数
- php中常见数组函数
- yii中UserController cannot find the requested view "goodbye".
- php中list()的使用
- Yii出现“You are not authorized to perform this action.”的解决方法
- 基于 PHP & MySQL 搭建OAuth Server