首页 > 开发 > PHP > 正文

将 PHP 从 4.0.6 升到 4.2.1 的注意事项

2024-05-04 22:56:59
字体:
来源:转载
供稿:网友
以前做了个购物网站的php程序,但前不久将php从4.0.6升到4.2.0后再一运行那程序就面目全非了(惨相啊.....:)
不过最终问题还是解决了,最近有人也碰到了相同的问题来问我,所以我干脆写出来吧。

我碰到的出错主要问题在php.ini中的配置参数register_globals=off

此项设off后php的程序就不会自动从cookie,session及页面地址"?"号后的参数中得到变量的值了,也不会自动接收form表单所传的值,之所以默认这样做是为了防止变量中毒(variable poisoning),php以前版本这一项不是默认off的所以没出问题。

解决方法是:
echo $http_cookie_vars['variable'];//得到cookie的值
echo $http_session_vars['variable'];//得到session的值
echo $http_post_vars['variable'];//得到表单所传的值-----相应表单框名
echo $http_get_vars['variable'];//得到"xxx.php?variable=123456"中问号后面所跟的变量值
echo $http_server_vars['remote_addr'];//得到对方ip地址
echo $http_post_files[''];//取得用表单传过来的文件
?>

希望大家在今后写代码时尽量用如上的完整写法(等出错后再改代码那可是劳民伤财啊),因为上面的那种写法无论是在register_globals设为on时还是off时都不会出错,且安全性更高。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表