• 技术文章 >后端开发 >php教程

    PHP函数import_request_variables()用法及实例分析

    墨辰丷墨辰丷2018-06-04 10:48:55原创766
    这篇文章主要介绍了PHP函数import_request_variables()用法,结合实例形式分析了import_request_variables函数的功能,定义及相关使用技巧,需要的朋友可以参考下

    import_request_variables 函数可以在 register_global = off 时,把 GET/POST/Cookie 变量导入全局作用域中。

    描述

    bool import_request_variables ( string types [, string prefix])

    将 GET/POST/Cookie 变量导入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局变量,那么此函数就很有用。

    你可以使用 types 参数指定需要导入的变量。可以用字母'G'、'P'和'C'分别表示 GET、POST 和 Cookie。这些字母不区分大小写,所以你可以使用'g'、'p'和'c'的任何组合。POST 包含了通过 POST 方法上传的文件信息。注意这些字母的顺序,当使用“gp”时,POST 变量将使用相同的名字覆盖 GET 变量。任何 GPC 以外的字母都将被忽略。

    prefix 参数作为变量名的前缀,置于所有被导入到全局作用域的变量之前。所以如果你有个名为“userid”的 GET 变量,同时提供了“pref_”作为前缀,那么你将获得一个名为 $pref_userid 的全局变量。

    如果你对导入其它全局变量(例如 SERVER 变量)感兴趣,请考虑使用 extract()。

    注: 虽然 prefix 参数是可选的,但如果不指定前缀,或者指定一个空字符串作为前缀,你将获得一个 E_NOTICE 级别的错误。使用默认错误报告级别是不显示注意(Notice)级别的错误的。

    <?php
    // This will import GET and POST vars
    // with an "rvar_" prefix
    import_request_variables("gp", "rvar_");
    echo $rvar_foo;
    ?>

    使用import_request_variables()函数可以有选择地注册全局变量集合。你可以使用该函数导入 $_GET、$_POST和$_COOKIE的值,还可以为每个导入的变量添加前缀(prefix)。

    参数中types字符串中允许为g、p、c字符,或者3个字符间任意的组合。其中,“g”表示GET变量,“p”表示POST变量,“c”表示cookies。注意:3个字符的排列顺序是有区别的,当使用“pg”时,POST变量将使用相同的名字覆盖$_GET变量;反之,当使用“gp”时,$_GET变量数组将优先于$_POST。

    使用import_request_variable()函数实现变量导入的脚本例子如下:

    //导入POST提交的变量值,前缀为post_
    import_request_variable("p", "post_");
    //导入GET和POST提交的变量值,前缀为gp_,GET优先于POST
    import_request_variable("gp", "gp_");
    //导入Cookie和GET的变量值,Cookie变量值优先于GET
    import_request_variable("cg", "cg_");

    如果我们在import_request_variables()函数中使用了“pg参数”,请看如下脚本实例:

    <?php
    if(isset($_REQUEST['btn_submit'])){
    echo "正常取得的表单POST变量值:".$_REQUEST['Username']."<br />";
    import_request_variables("pg", "import_");
    //显示导入的变量名称
    echo "使用import_request_variables函数导入的变量值:".$import_Username;
    }
    ?>
    <form id="test_form" name="test_form" method="POST" action="">
    请输入您的名字:
    <label>
    <input type="text" name="Username" id="Username" />
    </label>
    <label>
    <input type="submit" name="btn_submit" id="btn_submit" value="提交" />
    </label>
    <br />
    </form>

    该表单提示用户输入一个名字,完成并提交后,脚本会把提交的名字显示在浏览器上。

    注意:prefix前缀参数是必选的,如果未指定前缀,或者指定一个空字符串作为变量前缀,PHP会抛出一个E_NOTICE错误。

    import_request_variables()函数为我们提供一个中间方法,适用于如下几种情况:

    1. 当用户不能使用超级变量数组时;
    2. 在php.ini配置文件的register_globals参数为Off(PHP 5之后的版本默认为Off)时,使用import_request_variables将GET/POST/Cookie这几个超级变量数组导入到全局作用域中。
    3. 在开发时,只要声明了引入的变量范围,就不必写$_GET或$_REQUEST一堆很长的超级全局数组名称了。

    总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

    相关推荐:

    PHP获取表单数据与HTML嵌入PHP脚本的实现

    PHP实现数据分页显示的方法及简单实例

    php中关于长度计算容易混淆的问题简单分析

    以上就是PHP函数import_request_variables()用法及实例分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:variables request import
    上一篇:PHP函数shuffle()取数组若干个随机元素的方法及实例分析 下一篇:PHP数组函数array_multisort()的用法及实例分析
    线上培训班

    相关文章推荐

    • 你知道这个PHP命令行选项解析库(pflag)吗?• 带你看懂PHP中的class定义类与成员属性方法• PHP中如何才能将时间日期格式化?怎么计算时间差?• 一定搞得懂PHP中如何添加图片水印• 最详细的教你PHP时间戳与日期时间的转换

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网