今天总结了两点
当文件开启session机制,必须将session_start( )放置在当前php文件的靠前位置,并且确保session_start( )函数之前,文件没有任何输出,否则报错,通过session可以对当前活动状态的变量进行监督,并且方便从数据库中取数据,最主要可以作为限定条件。而在ecshop等框架中,是将session存进数据库中,对用户的访问 进行判断,访问了,开启数据库的session的有关数据,提供给用户使用;当用户退出浏览器,将session重新放入到数据库中,供用户下次访问使用。
当php文件放在windows的IIS服务器下,可能会出现notice信息的情况,(又一说,在帝国cms下会出现notice信息)notice这种信息几乎是忽略不计的,听不知姓名的XX说碰到php5以上版本会出现这种情况,我个人可以确定的是,在IIS服务器下,如果不配置php.ini,那么出现notice会很多,php是一个弱语言,最大的特点是变量不用声明就可以用,这对习惯了解析先声明后使用的服务器有点不好接受,于是,给你很多notice,告诉你Variable XXX is not defined。 这不是咱的错,所以咱得想办法屏蔽它。
在页面的前面部分加上
- error_reporting(E_ALL ^ E_NOTICE);
这样它屏蔽了notice信息了。它可以报其他的错误和警告什么的,但是你别烦我notice信息了。error_reporting(x): x可以取int类型,0,表示屏蔽一切错误;2047,报告一切错误,警告,语法错误,注意。