相关疑难解决方法(0)

如何修复PHP中的"Headers already sent"错误

运行我的脚本时,我收到几个这样的错误:

警告:不能更改头信息-头已经发出(输出开始/some/file.php:12)在/some/file.php线23

错误消息中提到的行包含header()setcookie()调用.

这可能是什么原因?以及如何解决它?

php header

833
推荐指数
10
解决办法
133万
查看次数

检查PHP会话是否已经启动

我有一个PHP文件,有时从已启动会话的页面调用,有时从没有启动会话的页面调用.因此,当我有session_start()这个脚本时,我有时会收到"会话已经开始"的错误消息.为此,我把这些行:

if(!isset($_COOKIE["PHPSESSID"]))
{
  session_start();
}
Run Code Online (Sandbox Code Playgroud)

但这次我收到了这条警告信息:

注意:未定义的变量:_SESSION

有没有更好的方法来检查会话是否已经开始?

如果我使用@session_start它会使事情正常工作,只是关闭警告?

php session session-variables

439
推荐指数
12
解决办法
42万
查看次数

"无法发送会话缓存限制器 - 已发送的标头"

可能重复:
PHP标头已经发送已经由PHP发送的标头

会话的问题变得非常烦人.每次我尝试在特定页面上启动会话时,都会收到以下错误:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23
Run Code Online (Sandbox Code Playgroud)

使用此代码:

<?php
session_start();
if(isset($_SESSION['user']))
    {
        $user = $_SESSION['user'];
        echo "$user";
    }
else
    {
    }
?> 
Run Code Online (Sandbox Code Playgroud)

这表明我已经使用过session_start();吗?我环顾四周,但对我来说没有什么能真正解决这个问题.

谢谢

php session

123
推荐指数
1
解决办法
45万
查看次数

标签 统计

php ×3

session ×2

header ×1

session-variables ×1