欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP中register_globals參數(shù)為OFF和ON的區(qū)別(register_globals 使用詳解)

 更新時(shí)間:2012年02月05日 21:31:33   作者:  
register_globals是php.ini里的一個(gè)配置,這個(gè)配置影響到php如何接收傳遞過來的參數(shù),如果你的問題是:為什么我的表單無(wú)法傳遞數(shù)據(jù)?為什么我的程序無(wú)法得到傳遞過來的變量?等等,那么你需要仔細(xì)的閱讀以下的內(nèi)容

register_globals的值可以設(shè)置為:On或者Off,我們舉一段代碼來分別描述它們的不同。
代碼:

復(fù)制代碼 代碼如下:

<form name="frmTest" id="frmTest" action="URL">
<input type="text" name="user_name" id="user_name">
<input type="password" name="user_pass" id="user_pass">
<input type="submit" value="login">
</form>

當(dāng)register_globals=Off的時(shí)候,下一個(gè)程序接收的時(shí)候應(yīng)該用$_GET['user_name']和$_GET['user_pass']來接受傳遞過來的值。(注:當(dāng)<form>的method屬性為post的時(shí)候應(yīng)該用$_POST['user_name']和$_POST['user_pass'])

當(dāng)register_globals=On的時(shí)候,下一個(gè)程序可以直接使用$user_name和$user_pass來接受值。

顧名思義,register_globals的意思就是注冊(cè)為全局變量,所以當(dāng)On的時(shí)候,傳遞過來的值會(huì)被直接的注冊(cè)為全局變量直接使用,而Off的時(shí)候,我們需要到特定的數(shù)組里去得到它。所以,碰到上邊那些無(wú)法得到值的問題的朋友應(yīng)該首先檢查一下你的register_globals的設(shè)置和你獲取值的方法是否匹配。(查看可以用phpinfo()函數(shù)或者直接查看php.ini)

那我們?yōu)槭裁匆褂肙ff呢?原因有2:
1、php以后的新版本默認(rèn)都用Off,雖然你可以設(shè)置它為On,但是當(dāng)你無(wú)法控制服務(wù)器的時(shí)候,你的代碼的兼容性就成為一個(gè)大問題,所以,你最好從現(xiàn)在就開始用Off的風(fēng)格開始編程
2、這里有兩篇文章介紹為什么要Off而不用On 

http://www.php.net/manual/en/security.registerglobals.php

現(xiàn)在還有一個(gè)問題就是,以前用On風(fēng)格寫的大量腳本怎么辦?
如果你以前的腳本規(guī)劃得好,有個(gè)公共包含文件,比如config.inc.php一類的文件,在這個(gè)文件里加上以下的代碼來模擬一下。
代碼:
復(fù)制代碼 代碼如下:

<?php
if ( !ini_get('register_globals') )
{
extract($_POST);
extract($_GET);
extract($_SERVER);
extract($_FILES);
extract($_ENV);
extract($_COOKIE);

if ( isset($_SESSION) )
{
extract($_SESSION);
}
}
?>

register_globals = Off的情況不僅僅影響到如何獲取從<form>、url傳遞過來的數(shù)據(jù),也影響到session、cookie,對(duì)應(yīng)的,得到session、cookie的方式應(yīng)該為:$_SESSION[]、$_COOKIE。同時(shí)對(duì)于session的處理也有一些改變,比如,session_register()沒有必要而且失效,具體的變化,請(qǐng)查看php manual里的Session handling functions

$_REQUEST中間的內(nèi)容實(shí)際上還是來源于$_GET $_POST $_COOKIE,缺點(diǎn)是無(wú)法判斷變量到底來自于get post 還是cookie,對(duì)要求比較嚴(yán)格的場(chǎng)合不適用。

相關(guān)文章

最新評(píng)論