图片验证码-header-session的一次问题记录

问题:slightphp框架下,登录时的图片验证怎么也不显示,检查图片验证码的类和调用的控制器方法,均没有发现错误,两个应用使用了同一个framework,所以排除是验证码类的问题;
解决:既然不是框架的问题,那就是应用本身调用出错,考虑到该类有使用到header和session(session也会使用header),检查程序在调用验证码类之前有没有输出内容,检查 basepage、控制器方法,均为找到;最后发现basepage里面构造函数会调用 checkrole()检查权限,该方法会调用一个数据模型文件,居然该文件最前面有一行空白,这就相当于给浏览器输出了一行空白内容!
总结:

  • 纯php文件的开始符一定要顶行写;
  • 不要随意留空白行;
  • header()和session_start()函数前面不要有输出、空白行、空格

你可能感兴趣的:(PHP)