程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP函數import_request_variables()用法分析,importrequest

PHP函數import_request_variables()用法分析,importrequest

編輯:關於PHP編程

PHP函數import_request_variables()用法分析,importrequest


本文實例分析了PHP函數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相關內容感興趣的讀者可查看本站專題:《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:

  • PHP數組函數array_multisort()用法實例分析
  • PHP計算數組中值的和與乘積的方法(array_sum與array_product函數)
  • PHP數學運算函數大匯總(經典值得收藏)
  • 詳解PHP匿名函數與注意事項
  • PHP常見數組函數用法小結
  • PHP匿名函數和use子句用法實例
  • 簡單談談PHP中strlen 函數
  • PHP中array_keys和array_unique函數源碼的分析
  • PHP查詢並刪除數據庫多列重復數據的方法(利用數組函數實現)
  • php強大的時間轉換函數strtotime
  • PHP函數超時處理方法
  • php的閉包(Closure)匿名函數初探

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved