动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

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

作者来源: 
阅读 1316 人次 , 2006-4-18 17:43:00 


   以前做了个购物网站的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时都不会出错,且安全性更高。   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Linux 下 PHP 连接 MS SQLServer 的办法
· 下一篇:怎么样可以把 phpinfo()屏蔽掉?
· PHP 开发人员:充实您的 XML 工具箱
· 在PHP3中实现SESSION的功能(附、COOKIE函数库的使用:test_cookie.php3)
· 用PHP调用Oracle存储过程
· PHP比ASP优秀的七个理由
· Oracle Faq(Oracle的字符集问题)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077