解决Cannot send session cache limiter - headers already sent问题

1、最近在做一个NBA投票系统,其中在用户注册之后,想用session_start()来保存一个当前会话人的全局变量,但是在表单提交完信息到php处理脚本后时候报错

解决Cannot send session cache limiter - headers already sent问题_第1张图片

2、报错内容为Cannot send session cache limiter - headers already sent

我在处理表单数据的php脚本中进行了如下使用(第四行):

解决Cannot send session cache limiter - headers already sent问题_第2张图片

3、经过研究发现,该处理脚本是承接表单而来的,即调用session_start()之前有静态的html输出,所以要把session_start放在整个表单出现之前,做如下修改:

解决Cannot send session cache limiter - headers already sent问题_第3张图片

4、验证结果:

4.1 用户注册

解决Cannot send session cache limiter - headers already sent问题_第4张图片

4.2 注册结果

解决Cannot send session cache limiter - headers already sent问题_第5张图片

4.3 可以看到在投票结束之后,调用$_SESSION查看当前会话人的结果正确:

解决Cannot send session cache limiter - headers already sent问题_第6张图片

你可能感兴趣的:(PHP)