PHP函數(shù)import_request_variables()用法分析
來源:易賢網(wǎng) 閱讀:899 次 日期:2016-08-29 15:49:14
溫馨提示:易賢網(wǎng)小編為您整理了“PHP函數(shù)import_request_variables()用法分析”,方便廣大網(wǎng)友查閱!

本文實(shí)例分析了PHP函數(shù)import_request_variables()用法。分享給大家供大家參考,具體如下:

import_request_variables 函數(shù)可以在 register_global = off 時(shí),把 GET/POST/Cookie 變量導(dǎo)入全局作用域中。

描述

bool import_request_variables ( string types [, string prefix])

將 GET/POST/Cookie 變量導(dǎo)入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局變量,那么此函數(shù)就很有用。

你可以使用 types 參數(shù)指定需要導(dǎo)入的變量??梢杂米帜?G'、'P'和'C'分別表示 GET、POST 和 Cookie。這些字母不區(qū)分大小寫,所以你可以使用'g'、'p'和'c'的任何組合。POST 包含了通過 POST 方法上傳的文件信息。注意這些字母的順序,當(dāng)使用“gp”時(shí),POST 變量將使用相同的名字覆蓋 GET 變量。任何 GPC 以外的字母都將被忽略。

prefix 參數(shù)作為變量名的前綴,置于所有被導(dǎo)入到全局作用域的變量之前。所以如果你有個(gè)名為“userid”的 GET 變量,同時(shí)提供了“pref_”作為前綴,那么你將獲得一個(gè)名為 $pref_userid 的全局變量。

如果你對(duì)導(dǎo)入其它全局變量(例如 SERVER 變量)感興趣,請(qǐng)考慮使用 extract()。

注: 雖然 prefix 參數(shù)是可選的,但如果不指定前綴,或者指定一個(gè)空字符串作為前綴,你將獲得一個(gè) E_NOTICE 級(jí)別的錯(cuò)誤。使用默認(rèn)錯(cuò)誤報(bào)告級(jí)別是不顯示注意(Notice)級(jí)別的錯(cuò)誤的。

<?php

// This will import GET and POST vars

// with an "rvar_" prefix

import_request_variables("gp", "rvar_");

echo $rvar_foo;

?>

使用import_request_variables()函數(shù)可以有選擇地注冊(cè)全局變量集合。你可以使用該函數(shù)導(dǎo)入 $_GET、$_POST和$_COOKIE的值,還可以為每個(gè)導(dǎo)入的變量添加前綴(prefix)。

參數(shù)中types字符串中允許為g、p、c字符,或者3個(gè)字符間任意的組合。其中,“g”表示GET變量,“p”表示POST變量,“c”表示cookies。注意:3個(gè)字符的排列順序是有區(qū)別的,當(dāng)使用“pg”時(shí),POST變量將使用相同的名字覆蓋$_GET變量;反之,當(dāng)使用“gp”時(shí),$_GET變量數(shù)組將優(yōu)先于$_POST。

使用import_request_variable()函數(shù)實(shí)現(xiàn)變量導(dǎo)入的腳本例子如下:

//導(dǎo)入POST提交的變量值,前綴為post_

import_request_variable("p", "post_");

//導(dǎo)入GET和POST提交的變量值,前綴為gp_,GET優(yōu)先于POST

import_request_variable("gp", "gp_");

//導(dǎo)入Cookie和GET的變量值,Cookie變量值優(yōu)先于GET

import_request_variable("cg", "cg_");

如果我們?cè)趇mport_request_variables()函數(shù)中使用了“pg參數(shù)”,請(qǐng)看如下腳本實(shí)例:

<?php

if(isset($_REQUEST['btn_submit'])){

echo "正常取得的表單POST變量值:".$_REQUEST['Username']."<br />";

import_request_variables("pg", "import_");

//顯示導(dǎo)入的變量名稱

echo "使用import_request_variables函數(shù)導(dǎo)入的變量值:".$import_Username;

}

?>

<form id="test_form" name="test_form" method="POST" action="">

請(qǐng)輸入您的名字:

<label>

<input type="text" name="Username" id="Username" />

</label>

<label>

<input type="submit" name="btn_submit" id="btn_submit" value="提交" />

</label>

<br />

</form>

該表單提示用戶輸入一個(gè)名字,完成并提交后,腳本會(huì)把提交的名字顯示在瀏覽器上。

注意:prefix前綴參數(shù)是必選的,如果未指定前綴,或者指定一個(gè)空字符串作為變量前綴,PHP會(huì)拋出一個(gè)E_NOTICE錯(cuò)誤。

import_request_variables()函數(shù)為我們提供一個(gè)中間方法,適用于如下幾種情況:

1. 當(dāng)用戶不能使用超級(jí)變量數(shù)組時(shí);

2. 在php.ini配置文件的register_globals參數(shù)為Off(PHP 5之后的版本默認(rèn)為Off)時(shí),使用import_request_variables將GET/POST/Cookie這幾個(gè)超級(jí)變量數(shù)組導(dǎo)入到全局作用域中。

3. 在開發(fā)時(shí),只要聲明了引入的變量范圍,就不必寫$_GET或$_REQUEST一堆很長的超級(jí)全局?jǐn)?shù)組名稱了。

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:PHP函數(shù)import_request_variables()用法分析
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)