PHP 预定义超全局数组/变量

1、超全局变量:不用定义声明即可用。PHP有九种

2、$_GET:通过参数传递给当前脚本的变量的数组

  浏览器页面-->(http协议)->apache-->php module-->a.php(封装成$_GET)静态页面返回

  例子:

     发送页面1:

 <?php

     $str=urlencode("北京好");//编码  urldecode则是解码已编码的URL字符串
    // echo "<a href='a.php?city=北京好 &name=小明'>";//两个中文没问题,三个中文在IE5/IE6就会出现问题(可多加个空格/urlencode )
    echo "<a href='a.php?city="$str" &name=小明'>";
  ?>

     接收页面2:

<?php
echo "<pre>"; echo print_r($_GET); echo "</pre>";
echo $_GET['name']; //也可以通过下标名取得某个数
?>

   (1  推荐表单提交用POST!(安全性/     数据量大(浏览器限制GET)/     但是保存到收藏夹:get方便)

   (2  可以通过 if( empty( $_GET['city'] )  ){} 判断接收的$_GET中的数据是否存在

   (3  注意: php.ini  中的 register_globals=on; 不能更改!!!

3、$_POST : 通过HTTP  POST 的方式提交的数据,会封装到$_POST 

   (1  自动封装/URL编码

   (2  $name=$_POST['username'];  //获得表单提交的数据

   (3  <input type="checkbox" name="hobby[]" value="1">1111

          <input type="checkbox" name="hobby[]" value="2">2222

                  // 一般默认只接受Checkbox的最后一个数据,采用数组的形式可以保证获取接受多个数据
                  // 接收页面可以用foreach来循环便利

4、$_REQUEST  可以接收 $_GET/$_POST/$_COOKIE 数组的数据信息

   print_r($_REQUEST); 

   如果不确定是POST还是GET方式

  可以采用 if($_SERVER['REQUEST_METHOD']=="POST"){}

                 else if($_SERVER['REQUEST_METHOD']=="GET"){}

5、$_SERVER 客户端浏览器信息+服务器端本身的信息

6、$_ENV 环境变量 该全局数组 php5.3中默认禁用,但可以启动

    php.ini 中的 variables_order="EGPCS";

 7、$GLOBALS 包含了全部变量的全局组合数组,

posted @ 2013-10-24 10:33  daomul  阅读(2834)  评论(0编辑  收藏  举报