频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>开发技巧>> 收藏此文 | 收藏本站 | 设为首页

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

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2007-7-26 20:42:00 进入讨论组
关 键 词: 注意事项 得到 // variable echo PHP 表单 问题 off 出错

以前做了个购物网站的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开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱