帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统v4.6
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程 >
将 PHP 从 4.0.6 升到 4.2.1 的注意事项
作者: 发布时间:2005-03-11 来源:

以前做了个购物网站的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编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·帝国网站管理系统采集使用教程
·帝国网站管理系统模板制作教程
·帝国CMS模板下载
·Discuz6.0.1UC版通行证发布
·帝国网站管理系统之网站迁移教程
·帝国网站管理系统实例入门教程下载
·《帝国网站管理系统》实例入门教程
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统