This article analyzes the usage of PHP function import_request_variables() with examples. Share it with everyone for your reference, the details are as follows:
The import_request_variables function can import GET/POST/Cookie variables into the global scope when register_global = off.
Description
bool import_request_variables ( string types [, string prefix])
Import GET/POST/Cookie variables into the global scope. This function is useful if you have disabled register_globals but still want to use some global variables.
You can use the types parameter to specify the variables that need to be imported. The letters 'G', 'P' and 'C' can be used to represent GET, POST and Cookie respectively. These letters are not case-sensitive, so you can use any combination of 'g', 'p' and 'c'. POST contains file information uploaded through the POST method. Note the order of these letters, when using "gp" the POST variable will overwrite the GET variable with the same name. Any letters outside of GPC will be ignored.
Theprefix parameter serves as the prefix of the variable name and is placed before all variables imported into the global scope. So if you have a GET variable named "userid" and provide "pref_" as a prefix, you will get a global variable named $pref_userid.
If you are interested in importing other global variables (such as SERVER variables), consider using extract().
Note: Although the prefix parameter is optional, if you do not specify a prefix, or specify an empty string as a prefix, you will get an E_NOTICE level error. Note level errors are not displayed using the default error reporting level.
<?php // This will import GET and POST vars // with an "rvar_" prefix import_request_variables("gp", "rvar_"); echo $rvar_foo; ?>
Use the import_request_variables() function to selectively register a collection of global variables. You can use this function to import the values of $_GET, $_POST, and $_COOKIE. You can also add a prefix to each imported variable.
The type string in the parameter allows g, p, c characters, or any combination of the three characters. Among them, "g" represents the GET variable, "p" represents the POST variable, and "c" represents cookies. Note: There is a difference in the order of the 3 characters. When "pg" is used, the POST variable will overwrite the $_GET variable with the same name; conversely, when "gp" is used, the $_GET variable array will take precedence over $_POST. .
A script example using the import_request_variable() function to implement variable import is as follows:
//导入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_");
If we use the "pg parameter" in the import_request_variables() function, please see the following script example:
<?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>
The form prompts the user to enter a name. Once completed and submitted, the script will display the submitted name in the browser.
Note: The prefix parameter is required. If no prefix is specified, or an empty string is specified as the variable prefix, PHP will throw an E_NOTICE error.
The import_request_variables() function provides us with an intermediate method, which is suitable for the following situations:
1. When the user cannot use the super variable array;
2. When the register_globals parameter in the php.ini configuration file is Off (the default value for versions after PHP 5 is Off), use import_request_variables to import the GET/POST/Cookie super variable arrays into the global scope.
3. During development, as long as the introduced variable scope is declared, there is no need to write a bunch of long super global array names in $_GET or $_REQUEST.
Readers who are interested in more PHP-related content can check out the special topics on this site: "Summary of PHP operations and operator usage", "Summary of PHP network programming skills", " Introductory tutorial on PHP basic syntax", "Summary of PHP office document operation skills (including word, excel, access, ppt)", "Summary of PHP date and time usage》, "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation introductory tutorial" And "Summary of common database operation skills in PHP"
I hope this article will be helpful to everyone in PHP programming.