将PHP从4.0.6升到4.2.1的注意事项_PHP
程序员文章站
2022-06-16 14:07:56
...
以前做了个购物网站的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时都不会出错,且安全性更高。
不过最终问题还是解决了,最近有人也碰到了相同的问题来问我,所以我干脆写出来吧。
我碰到的出错主要问题在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时都不会出错,且安全性更高。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
- 教你使用PHP数据库迁移工具“Phinx”
- 详解win10下PHP的安装配置(以php5.6为...
- php Swoole实现毫秒定时计划任务(详解)
- 解析php获取字符串的编码格式的方法(函数)_PH...
- 将PHP从4.0.6升到4.2.1的注意事项_PH...
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论