register_globals 是php.ini 中的一個配置,該配置直接影響PHP 如何接收和傳遞參數。如果它被設置為Off,那么在獲取通過POST()或者GET()方法傳遞的參數時,就需要使用$_POST['user_name']或$_GET['user_name']。如果它被設置為On,那么...
php.ini全局參數register_globalsy用途
register_globals 是php.ini 中的一個配置,該配置直接影響PHP 如何接收和傳遞參數。
如果它被設置為Off,那么在獲取通過POST()或者GET()方法傳遞的參數時,就需要使用$_POST['user_name']或$_GET['user_name']。
如果它被設置為On,那么就可以直接使用$user_name 來獲取傳遞的值。
它的設置不只影響form、url 參數的傳遞,同時也影響到了SESSION 和Cookie。同樣,當它的值為Off 時,獲取SESSION 和Cookie 的值就需要使用$_SESSION[]和$_COOKIE[];而當它的值為On 時,就可以直接通過變量名稱獲取變量傳遞的值。萬網空間register_globals 設置開關如下圖
當用戶遇到獲取不到form 表單中傳遞的值時,可以查看使用的方法是POST 還是GET,并且確認使用的變量名稱是否正確。另外,可以查看一下php.ini 文件,看register_globals 是開啟還是關閉,確定在獲取參數值使用的方法有效。
PHP專家小結:
在置PHP 的開發(fā)環(huán)境時,將register_globals 設置為Off,有兩個好處:第一可以提高代碼的安全性;第二可以提高代碼的可兼容性。
用戶現在使用的所有PHP 服務器中,register_globals 都是設置為Off 的,所以一旦用戶的程序在開發(fā)時設置的是On,那么當它上傳到服務器時,就會出現問題。在PHP5 中,用戶在配置時還有選擇的余地,可以選擇是On 或Off,但是在PHP6 中這項內容已經被刪除,所以用戶必須做到未雨綢繆,養(yǎng)成一個良好的編程習慣。
register_globals 是php.ini 中的一個配置,該配置直接影響PHP 如何接收和傳遞參數。
如果它被設置為Off,那么在獲取通過POST()或者GET()方法傳遞的參數時,就需要使用$_POST['user_name']或$_GET['user_name']。
如果它被設置為On,那么就可以直接使用$user_name 來獲取傳遞的值。
它的設置不只影響form、url 參數的傳遞,同時也影響到了SESSION 和Cookie。同樣,當它的值為Off 時,獲取SESSION 和Cookie 的值就需要使用$_SESSION[]和$_COOKIE[];而當它的值為On 時,就可以直接通過變量名稱獲取變量傳遞的值。萬網空間register_globals 設置開關如下圖
當用戶遇到獲取不到form 表單中傳遞的值時,可以查看使用的方法是POST 還是GET,并且確認使用的變量名稱是否正確。另外,可以查看一下php.ini 文件,看register_globals 是開啟還是關閉,確定在獲取參數值使用的方法有效。
PHP專家小結:
在置PHP 的開發(fā)環(huán)境時,將register_globals 設置為Off,有兩個好處:第一可以提高代碼的安全性;第二可以提高代碼的可兼容性。
用戶現在使用的所有PHP 服務器中,register_globals 都是設置為Off 的,所以一旦用戶的程序在開發(fā)時設置的是On,那么當它上傳到服務器時,就會出現問題。在PHP5 中,用戶在配置時還有選擇的余地,可以選擇是On 或Off,但是在PHP6 中這項內容已經被刪除,所以用戶必須做到未雨綢繆,養(yǎng)成一個良好的編程習慣。