|
以前做了个购物网站的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时都不会出错,且安全性更高。
作者:佚名 | 文章来源:不详 | 更新时间:2007-5-4 1:57:52
|
上一篇文章: PHP中重新定向到另一个页面
下一篇文章: Linux 下 PHP 连接 MS SQLServer 的办法… |
相关文章:
php中最大上传文件大小限制设置 PHP编程直接调用文本文件内容 php默认配置下让fopen生成新文件时使用UTF8格式 PHP脚本编程中的文件系统函数大全 PHP中的XML应用 PHP套接字编程及应用 PHP技术:搜索引擎技术核心揭密 php参考:详细的php.ini中文翻译注释 如何生成XML数据和动态的XML文档 用PHP与XML联手进行网站编程
|