明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

將 PHP 從 4.0.6 升到 4.2.1 的注意事項

[摘要]以前做了個購物網(wǎng)站的PHP程序,但前不久將PHP從4.0.6升到4.2.0后再一運行那程序就面目全非了(慘相啊.....:) 不過最終問題還是解決了,最近有人也碰到了相同的問題來問我,所以我干脆寫出來吧。 我碰到的出錯主要問題在PHP.INI中的配置參數(shù)register_globals=off 此...
以前做了個購物網(wǎng)站的PHP程序,但前不久將PHP從4.0.6升到4.2.0后再一運行那程序就面目全非了(慘相啊.....:)
不過最終問題還是解決了,最近有人也碰到了相同的問題來問我,所以我干脆寫出來吧。

我碰到的出錯主要問題在PHP.INI中的配置參數(shù)register_globals=off

此項設(shè)off后PHP的程序就不會自動從Cookie,Session及頁面地址"?"號后的參數(shù)中得到變量的值了,也不會自動接收form表單所傳的值,之所以默認這樣做是為了防止變量中毒(variable poisoning),PHP以前版本這一項不是默認off的所以沒出問題。

解決方法是:
echo $HTTP_COOKIE_VARS['variable'];//得到cookie的值
echo $HTTP_SESSION_VARS['variable'];//得到session的值
echo $HTTP_POST_VARS['variable'];//得到表單所傳的值-----相應(yīng)表單框名
echo $HTTP_GET_VARS['variable'];//得到"xxx.php?variable=123456"中問號后面所跟的變量值
echo $HTTP_SERVER_VARS['REMOTE_ADDR'];//得到對方IP地址
echo $HTTP_POST_FILES[''];//取得用表單傳過來的文件
?>

希望大家在今后寫代碼時盡量用如上的完整寫法(等出錯后再改代碼那可是勞民傷財啊),因為上面的那種寫法無論是在register_globals設(shè)為on時還是off時都不會出錯,且安全性更高。