PHP会话缓存限制器标头错误


PHP Session Cache limiter header error

我是php的初学者,我搜索了几个小时,尽我所能,但仍然出现了这个错误。警告:session_start()[function.session start]:无法发送会话缓存限制器-第3行上/home/apsterne/public_html/mag/includes/functions.php中已发送的标头(输出在/home/adsterne/public_html/main.php:1处开始)

这是我的登录页面,我将在这里登录并进入主页

include_once('includes/functions.php');
include_once('includes/connection.php');
if(loggedin())
{
    header("location:main.php");
     exit();
}
if (isset($_POST['submit'])){
$error=array();
if($_POST['username']=="") $error[]='Please Enter Username'; 
if($_POST['password']=="") $error[]='Please Enter Password';
if(isset($_GET['e'])) $error[]='You Are Trying to access secure page without login';
if(isset($_POST['rememberme'])) $remember=$_POST['rememberme'];
function cleanStr($str) {
        $cStr = trim($str);
        $cStr = htmlspecialchars($cStr);
        $cStr = addslashes($cStr);
        return $cStr;
    }
        $userName = cleanStr($_POST['username']);
        $pwd = cleanStr($_POST['password']);

$result=mysql_query("SELECT * FROM login WHERE username = '$_POST[username]'");
$row=mysql_fetch_array($result);
if(empty($error)){
                if($userName==$row['username'] && $pwd==$row['password'] ){ 
                    if($rememberme=="on")        
                          setcookie("username",$userName,time()+7200);
                   else if($rememberme==""){
                                    $_SESSION['username']=$userName;
                                    header("location:main.php");
                                    exit();
                                    }
                            }
                            else
                            $error[]='You Enter Wrong username and password';
            }
}


THis is main page

<?php
include_once('includes/functions.php');
include_once('includes/connection.php');
if(!loggedin())
{
    header("location:index.php");
    exit();
}
?>


这是功能文件

<?php
session_start();
function loggedin()
{
    if(isset($_SESSION['username']) || isset ($_COOKIE['username']))
        {
         $loggedin=TRUE;
         return TRUE ;
        }
}
?>


没有空白,我不知道这是什么。。

我认为您的一个或多个文件中有一行空白,或者您使用UTF-8编码+比特顺序标记字节保存了其中一些文件。尝试使用UTF-8保存它们,而不使用BOM

如果在调用session_start之前发送任何内容(非标头),就会发生这种情况。是否有尾随空格或前导空格?您是否使用BOM对utf-8中的文件进行了编码

因此,通常建议省略最后的?> php结束标记。

双击main.php。引擎声称第一行有输出,可能在<?php标记之前。(意外BOM(旧UTF-8文件的字节顺序标记)字符?)