首頁  >  文章  >  後端開發  >  PHP函數import_request_variables()用法及實例分析

PHP函數import_request_variables()用法及實例分析

墨辰丷
墨辰丷原創
2018-06-04 10:38:281896瀏覽

這篇文章主要介紹了PHP函數import_request_variables()用法,結合實例形式分析了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[&#39;btn_submit&#39;])){
echo "正常取得的表单POST变量值:".$_REQUEST[&#39;Username&#39;]."<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn