警告:session_start() [function.session-start]:不能发送会话缓存限制头已经发送
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
我在其他论坛上读过很多,他们说错误是在session_start之前有空白,但我非常肯定没有,我的文件是用UTF8编码的,没有BOM,所以空白问题应该是好的,它在本地工作得很好(我使用easyphp)。然而,我一把它放到网上,它就跳出了这些问题。有人能帮忙吗?他们在网上告诉了这两行错误:
警告:session_start() [function。session-start]:不能发送会话缓存限制器-标头已发送
这是我的代码:
<?php
session_start();
?>
该警告意味着HTTP标头已经发送,不能再修改了。您必须确保在session_start
之前不发送任何内容。把它放在你的第一个PHP脚本之上,在任何echo
或HTML之前,你会很好。
你的代码中肯定有一个错误-你有一个附加到while循环的else条件,也许你在错误中发布了它,但为什么有两个session_start()调用?假设这是一页!
<?php
session_start();
$uname=$_SESSION['name'];
?>
<?php
/*session_start();*/
$servername = "68.178.143.40";
$username = "applicant123";
$password = "Applicant@123";
$dbname = "applicant123";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$uname=$_SESSION['name'];
$sql = "SELECT * FROM consultant WHERE username='uname' ";
$result = $conn->query( $sql );
if ( $result->num_rows > 0 ) {
/* Here is a problem - there should be no "else" */
/*
while( $row = $result->fetch_assoc() ) {
} else {
echo "0 results";
}
*/
while( $row = $result->fetch_assoc() ) {
/* do stuff with recordset */
}
$conn->close();
?>
相关文章:
- 如何在从浏览缓存加载页面时执行javascript
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 缓存谷歌地图数据
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 验证会话中是否存在对象's数组
- 防止jQuery Mobile中的ajax缓存
- image.onload事件和浏览器缓存
- Javascript清除缓存以清除基本身份验证凭据
- 使用jquery.load('pageName')方法时,未从应用程序缓存加载Html页
- 将脚本缓存到本地存储的basket.js概念仍然是一个好主意吗
- 阻止选项卡缓存jquery ui
- 通过javascript从会话中提取用户名
- 强制浏览器更新缓存的HTML5视频对象
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- Php未获取会话的最新值
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 警告:session_start() [function.session-start]:不能发送会话缓存限制器
- 警告:session_start() [function.session-start]:不能发送会话缓存限制头已经发送