跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

php 预定义超全局数组

100 讲 预定义超全局数组①- 原理分析 $_GET 更新时间 :2013 年 04 月 21 日 11 时 42 分 来源 : 现在我们做项目串知识点 . 先给大家讲解预定义超全局变量 PHP 中预定义超全局变量 ① 什么是全局变量 ? php $a=23;// 全局变量 , 因为该变量在整个作用域(在这 100 讲 预定义超全局数组①- 原理分析 $_GET 更新时间 :2013 年 04 月 21 日 11 时 42 分 来源 : 现在我们做项目串知识点 . 先给大家讲解预定义超全局变量 PHP 中预定义超全局变量 ① 什么是全局变量 $a=23;// 全局变量 , 因为该变量在整个作用域(在这个 php 文件中),都是可见 function test(){// 如果希望使用到全局 $a;global $a;$a=45;}test();echo $a;?> ② 什么是超全局变量 超全局变量除了有全局变量的特点外,可以无须申明,直接使用 . 快速入门 // 超全局变量 $_SERVER['hsp']=" 韩顺平 ";echo "
";
echo print_r($_SERVER);
echo "
" 提供超全局数组的原因是为了让程序员更方便快捷的写出 PHP 程序 . ③ PHP 供提供了九种 1.        $_GET2.        $_POST3.        $_REQUEST4.        $_SERVER5.        $_ENV6.        $_FILE7.        $_COOKIE8.        $_SESSION9.        $GLOBALS  现在一个一个讲解 1.        $_GET 以 $_GET 原理来分析数据的来龙去脉 ... 说明原理图 : 3 分钟前 上传 下载附件 (60.59 KB) $_GET 实际使用 .  客户机 ( 浏览器 ) 通过超链接传送信息给服务器 案例 1test.php 页面 //urlencode 编码 echo " 传送数据 ";?> 面试题 : 请问如何处理超链接提交数据的中文乱码问题 ?1. 对于高版本的 ie 浏览器 , 无需处理 2. 对应 5.5 和 6.0 ie 需要进行 urlencode() 编码处理 3. 尽量使用字母和数字 .a.php 页面 echo "
";
echo print_r($_GET);
echo "
";// 如果希望指定取出某个数据,则可以通过下标名 echo $_GET['name'];?> 看看 ie5.5 和 ie 6 的中文奇数乱码 . 解决方法 1. 给奇数中文加一个全角空格,然后到服务器接收是,去掉两头的空行 trim() 解决方法 2: 使用 urlencode 和 urldecode 函数 在 test.php 页面 // 这句话是对中文 url 编码 .$str=urlencode(" 北京好 ");echo " 传送数据 ";?>// 在 a.php 页面中,正常接收。 echo "
";
echo print_r($_GET);
echo "
";// 如果希望指定取出某个数据,则可以通过下标名 , 如果 php 版本低,可能看到是中文,需要使用 urldecode() 来解密 echo "--".$_GET['city'];?>_GET 也可以接收表单以 get 方式提交数据 ”a.php”method=”get”>//....特别说明如何提交表单数据建议使用POST,不要使用GET使用细节:如果判断是否收到值a.        phpif(empty($_GET['city'])){echo "没有收到";}else{echo "有city";echo$_GET['city'];}//这个方法可以,参看,建议使用emptyif(!isset($_GET['city'])){echo "没有收到hello";}else{echo "有city";echo$_GET['city'];}绝对不要启用register_globals需要register_globals = Off 预定义超全局数组②-$_POST $_REQUEST $_POST 立即学习 “ PHP免费学习笔记(深入) ”; 描述 : 通过Http POST方式提交的数据,会被封装到$_POST超全局数组中. 举例: 接收表单信息: 代码: 1 分钟前 上传 下载附件 (26.82 KB) 代码: register1.php页面 用户注册 用户名: 密码 性别: 女 男 你喜欢什么: 唱歌 跳舞 游泳 骑马 你的所在地是: 北京 天津 南京 个人介绍 : 你选择图片 **regiseter2.php*** //看看如何接收 echo "
";

echo print_r($_POST);

echo "

"; //关心爱好 $name=$_POST['username']; $pwd=$_POST['passwd']; //如何接收checkbox提交的数据 $hobbies=$_POST['hobby']; echo "个人信息如下 "; echo "$name--$pwd"; //print_r($hobbies); echo "该人的爱好"; foreach($hobbies as $key=>$val){ echo"$key=$val"; } echo " 你的所在地是"; $city=$_POST['city']; echo $city; echo " 个人介绍如下"; $intro=$_POST['intro']; echo "$intro"; echo " 查看调查情况 " ?> 这里还有一个下拉框的演示 10min: 你编写生活幸福度的调查表,然后把调查的信息 ,存入到数据库 .,看看能否获取数据,显示给用户看. get数据提交主要是 默认是get提交 //当这样的方式跳转的时候,也是以get方式提交给ok.php header(“Location: ok.php?aaa=xiaoming”); ?> post和get区别请参看ppt ① 安全性  post>get ② 数据传输大小 [浏览器]post>get ③ 保存到收藏夹 get比较方便. $_REQUST 定义: $_REQUST 中可以包括$_GET/$POST/$_COOKIE 数组,的信息. 快速入门: 这里就很好理解,看一个案例 : echo "
";

echo print_r($_REQUEST);

echo "

"; //如何取出某个值 //$_REQUEST既可以接收get  请求数据,也可以接收post请求、cookie.. //所以这个变量,比较不可以信,不建议使用. $_GET $_POST echo $_REQUEST['aa']; //如果不确定get/post if($_SERVER['http_method']=="post"){ $echo $_POST['名字']; }else if($_SERVER['http_method']=="get"){ //用 _GET接收. } ?> 注意事项: 1.     不要经常使用$_REQUEST, 2.     如果不确定_GET/POST 你接收数据时候,可以这样 if($_SERVER['REQUEST_METHOD’]=="POST"){ $echo $_POST['名字']; }else if($_SERVER[’ REQUEST_METHOD’]=="GET"){ //用 _GET接收. } 预定义超全局数组③-$_SERVER $_ENV $GLOBALS $_ENV 该全局数组可以获取环境变量,在 php5.3 中默认禁用,但是你可以启动 , 在 php.ini 文件中启用 . variables_order="EGPCS" 特别说明一把,在开发和生产环境,不要启用 . $_FILE/ $_COOKIE /$_SESSION 后面讲 $GLOBALS 包含了全部变量的全局组合数组。变量的名字就是数组的键 [ 手册 ] 同时一个自定义的全局变量,也会自动的被 $_GLOBALS 管理 案例 : echo "aaaa"; echo "
";

echo print_r($GLOBALS);

echo "

"; ?> 当你定义一个全局变量,该变量也会被 $GLOBALS 管理 $a=900; echo “
”;

print_r($GLOBALS);

echo “

” ?> 案例说明 :

相关文章