错误:(!)
警告:Session_start():无法发送会话缓存限制器 - 标头 已发送(输出已开始于 C:\ Wamp64 \ Www \ Needheee \ Userheader.Php:192)In C:\ Wamp64 \ Www \ Needheee \ Userheader.Php On The Line 193
<li>
<a> Welcome
<?php
session_start();
echo $_SESSION['username'];
?>
</a>
</li>
答案 0 :(得分:2)
默认情况下,PHP会话功能在请求之间使用cookie propagate the session ID。
Cookie由session_start()
设置。因为Cookie是在HTTP响应的header中发送的,session_start()
must be called before any output is sent to the browser。
在生成一些HTML后调用session_start()
。您可以将使用output buffering文件中的任何内容之前的session_start()
转移至capture the output(而不是立即将其发送到浏览器),send it时将其调用至{{1}} 39;适合您的申请流程。
答案 1 :(得分:0)
将session_start()
放在页面的开头
<?php
session_start();
?>
//html codes
<li>
<a> Welcome
<?php
echo $_SESSION['username'];
?>
</a>
</li>
答案 2 :(得分:0)
这意味着你有太多的session_starts。要删除此错误,请检查每个页面上的有效会话。这样做:
<?php
if(!isset($_SESSION)){
session_start();
}
//this would check for a session before starting it. if session has started, php would not attempt to start a new one
?>
答案 3 :(得分:0)
无法发送会话缓存限制器 - 已发送标头
写入文本时显示此警告(创建缓冲区) 当您的脚本创建了一些文本时进行重定向时,就会发生这种情况。
解决方案:在脚本输出任何文本之前,将
session_start()
函数移动到文件顶部。
答案 4 :(得分:0)
标题已发送错误主要发生在
时错误解决方案
<?php ob_start();?>