2014-04-20 77 views
1

我在这里阅读答案How to fix "Headers already sent" error in PHP但这不能解决我的错误。PHP警告:session_start():无法发送会话缓存限制器 - 头已发送

我不明白,session_start()是我在我的文件中调用的第一件事,而我正在使用没有BOM编码的UTF-8。但我仍然得到这个PHP警告。

错误:

PHP Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/feyzprod/public_html/nearby/register.php:1) in /home/feyzprod/public_html/nearby/register.php on line 1 

我的文件编码是

Encoding is UTF-8 without BOM 

代码:

<?php session_start(); 
    require_once('bdservice.php'); 
    require_once('script.php'); 

    $bd = new BDService(); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 

<title>NearBy Me : Courtier immobiliers</title> 

<link rel="stylesheet" href="css/style.css" /> 
<link rel="stylesheet" href="css/ico.css" /> 
<link rel="stylesheet" href="https://formoid.net/forms/30/17477/formoid-default-skyblue.css" type="text/css" /> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript" src="https://formoid.net/lib/iframe.js"></script> 
<link rel="stylesheet" href="https://formoid.net/lib/form.css" type="text/css" /> 

<script> 

</script> 

</head> 

<body> 
    <div class='bar'> 
     <div class='header'> 
      <div id='left'></div> 

      <div id='right'> 
       <div style='margin-top:35px;'> 
       <span><a href='#'>Français</a> | <a href='#'>Anglais</a></span><br/><br/> 
       <?php 
        if(isset($_SESSION['authentification'])) 
        { 
         echo "<a href='profil.php'><button class=\"large green button\">Profil</button></a>"; 
        } 
        else 
        { 
         echo "<a href='connexion.php'><button class=\"large green button\">Login</button></a>"; 
        } 
       ?> 
       </div> 
      </div> 

      <div style='clear:both;'></div> 
     </div> 
    </div> 

    <div class='inscription'> 
     <img src='images/inscription.png' alt='inscription' title='inscription' /><br/><br/> 
      <?php 
       if(!isset($_POST['Valider'])) 
       { 
+0

你只有一次启动一个会话,在一个文件中!你没有在bdservice.php或script.php上有另一个'session_start()'吗? –

+0

bdservice.php和script.php没有session_start() – seb

+0

尝试使用'ob_start();''session_start();' –

回答

3

你可能有在/home/feyzprod/public_html/nearby/register.php开头空格或其他空白字符,在显示你的错误,它在行1上。

空间将回显到输出,这意味着您不能再写入标头,这是PHP想要通过cookie设置会话信息的地方。

+0

/home/feyzprod/public_html/nearby/register.php的开头是我的原始文章中的代码展示,以及使用utf-8而没有BOM的文件,在这里应该没有空白文件开头 – seb

+1

@seb它真的听起来像是在你的文件开头有一些隐藏的换行/空格字符... – doublesharp

相关问题