预定义超全局变量、$_GET

一、全局变量:在整个作用域中均有效。

<?php
    $a=23;   //全局变量;
    function test() {
        //使用全局变量$a,不加这句则程序的输出结果为23;
        global $a;
        $a=45;
    }

    test();
    echo $a;    //输出结果为45
?>

二、超全局变量:除了具备全局变量的特点外,在使用的时候无需声明、直接使用。

    $_SERVER['hsp'] = "韩顺平";    //用户可以使用超全局变量的关键字;
    echo "<pre>;
    echo print_r($_SERVER);      //超全局变量是系统预定好的,使用时无需声明、直接调用;
    echo "</pre>;

php提供了九种超全局变量:

    - $_GET
    - $_POST
    - $_REQUEST
    - $_SERVER
    - $_ENV
    - $_FILE
    - $_COOKIE
    - $_SESSION
    - $GLOBALS

三、超全局变量$_GET的原理:通过URL参数传递给当前脚本的变量的数组;
基本用法:客户机(浏览器)通过超链接、表单传送信息给服务器(但我们推荐用POST提交表单数据)。
这里写图片描述
注:
(1)浏览器一旦接受到 apache 服务器返回的静态页面,就将整个链接断开、释放资源;
(2)若多人同时访问 a.php,则会对 apache 服务器造成较大负荷。

四、php上传数据:
1、text.php

<?php
    echo "<a href='a.php?city=北京好&name=xiaoming'>传送数据</a>";   //给 a.php 设置 city 属性设置为 beijing,name 设置为 xiaoming。
?>

2、a.php(接收数据)

<?php
    echo "<pre>";
    echo print_r($_GET);
    echo "</pre>";

    //如果希望制定取出某个数据,则可以通过下标名访问;
    echo $_GET['name'];
?>

3、ie5.5、ie6浏览器传入奇数个汉字的时候将会出现乱码,解决方案:
(1)在汉字尾部加一个全角空格;在服务器段接收的时候用 trim() 函数将字符串的两端的空格去掉;
(2)使用 urlencode 和 urldecode 函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值