“警告:session_start()[function.session-start]:无法发送会话cookie”错误?

时间:2011-08-07 02:59:47

标签: php session header http-headers session-cookies

  

可能重复:
  Cannot send session cookie - headers already sent
  Headers already sent by PHP

不知何故,我的网站决定打破,所以确实如此。 artfulme.net(我的网站)不知怎的错误......

警告:session_start()[function.session-start]:无法发送会话cookie - 已在/ home / artfulme中发送的文件(输出从/home/artfulme/public_html/index.php:1开始)第1行/public_html/index.php

警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 已在/ home / artfulme中发送的标头(输出从/home/artfulme/public_html/index.php:1开始)第1行/public_html/index.php

我不知道发生了什么。我正在露营,当我回来时,每次去我的网站都会收到这个错误。

这是我的完整页面代码:

<?php session_start(); $_SESSION['loginreturn']="../index.php";  

include("scripts/mysql.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Website Stuff -->
<title>artfulME</title>
<link rel="shortcut icon" href="images/favicon.ico" />
<!-- CSS Stuff -->
<style type="text/css">
body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: lighter;
    color: #FFFFFF;
}
a:link {
    color: #6F8C37;
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #526828;
}
a:hover {
    text-decoration: underline;
    color: #ABC974;
}
a:active {
    text-decoration: none;
}
body {
    background-color: #7b7b7b;
}
</style>
<link href="css/index.css" rel="stylesheet" type="text/css" />
<link href="css/login.css" rel="stylesheet" type="text/css" />
<!-- Script Stuff -->
<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showElement(obj){
    document.getElementById(obj).style.display="block"; 
}

function hideElement(obj){
    document.getElementById(obj).style.display="none";
}

function restoreValue(obj){
    if(obj.value == ""){
        obj.value = obj.defaultValue;
    }
}
function clearValue(obj){
    if(obj.value == obj.defaultValue){
        obj.value = "";
    }
}

function changeTypeToPass(obj){
    if(obj.value != obj.defaultValue){
        obj.type = "password";
    }
}
function changeTypeToText(obj){
    if(obj.value == obj.defaultValue){
        obj.type = "text";
    }
}
</script>
</head>
<body onload="MM_preloadImages('images/navi/homeover.png','images/navi/blogover.png','images/navi/mediaover.png','images/navi/blogover.PNG','images/navi/contactover.PNG')">
<div id="wrapper">
  <p style="text-align: right; text-shadow: 1px 1px #000; height: 20px; margin-right: 3px">
    <?php
        if(!isset($_SESSION['loggedin'])){
            echo "<a href='javascript:void(0);' id='showLogin' onclick=\"showElement('login');\">Login</a>\n";
        }else{
            if($_SESSION['username'] == "artfulME" || $_SESSION['username'] == "Admin"){
                echo "<strong>Hello</strong> <a href='user/index.php'>".$_SESSION['username']."</a>!&nbsp;&nbsp; <a href='post/index.php'>Post</a> | <a href='userslist/index.php'>View Users List</a> | <a href='upload/index.php'>Upload</a> | <a onclick='document.logoutform.submit(); return false;' href='javascript:void(0);'>Logout</a><form style='display:none' id='logoutform' name='logoutform'  action='scripts/logout.php'></form>";
                $_SESSION['accesstoadmin'] = 1;
            }else{
                echo "<strong>Hello</strong> <a href='user/index.php'>".$_SESSION['username']."</a>!&nbsp;&nbsp; <a onclick='document.logoutform.submit(); return false;' href='javascript:void(0);'>Logout</a><form style='display:none' id='logoutform' name='logoutform'  action='scripts/logout.php'></form>";
            }
        }
    ?></p>
  <div id="login">
    <span style="text-align: right"><p><img src="images/logintop.png" width="31" height="15" alt="logintop" /></p></span>
    <div id="cont1">
    <div style="height:5px"></div>
      <div id="cont2">
        <form id="loginform" name="loginform" method="post" action="scripts/login.php">
          <table width="100%" border="0" cellspacing="2" cellpadding="0">
            <tr>
              <td><input name="entlogin" type="text" id="entlogin" onfocus="clearValue(this);" onblur="restoreValue(this);" value="Username or Email" maxlength="50" /></td>
            </tr>
            <tr>
              <td><input name="entpass" type="text" id="entpass" onfocus="clearValue(this); changeTypeToPass(this);" onblur="restoreValue(this); changeTypeToText(this);" value="Password" maxlength="15" /></td>
            </tr>
            <tr>
              <td><a href="javascript:void(0);" onclick="document.loginform.submit(); return false;">Continue</a> or <a href="signup/index.php">Signup!</a></td>
            </tr>
            <tr>
              <td> <a href="javascript:void(0);"></a><a href="javascript:void(0);" onclick="hideElement('login');">Close</a></td>
            </tr>
          </table>
        </form>
      </div>
      <div style="height:5px"></div>
    </div>
  </div>
  <div id="header"><img src="images/logo.png" alt="artfulME" width="500" height="143" border="0" usemap="#Map" />
    <map name="Map" id="Map" title="Home | artfulME">
      <area shape="rect" coords="6,37,311,108" href="index.php" alt="Home | artfulME" />
    </map>
  </div>
  <div id="navi">
    <p><a href="index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('HOME','','images/navi/homeover.png',1)"><img src="images/navi/home.png" alt="HOME" name="HOME" width="150" height="40" border="0" id="HOME" /></a><a href="blog/index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('BLOG','','images/navi/blogover.PNG',1)"><img src="images/navi/blog.png" alt="BLOG" name="BLOG" width="145" height="40" border="0" id="BLOG" /></a><a href="media/index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('MEDIA','','images/navi/mediaover.PNG',1)"><img src="images/navi/media.png" alt="MEDIA" name="MEDIA" width="156" height="40" border="0" id="MEDIA" /></a><a href="contact/index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('CONTACT','','images/navi/contactover.PNG',1)"><img src="images/navi/contact.png" alt="CONTACT" name="CONTACT" width="205" height="40" border="0" id="CONTACT" /></a></p>
  </div>
  <div id="left">
    <div id="block1">
      <div id="container">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="50%"><h1>Video to be here soon!</h1></td>
          </tr>
          <tr>
            <td><p><a href="javascript:void(0);" id="showAbout" onclick="hideElement('showAbout'); showElement('moreAbout');">More about me...</a></p>
              <p id="moreAbout" style="display:none"><a href="#" onclick="showElement('showAbout'); hideElement('moreAbout');">Hide more about me...</a><br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I'm not just your ordinary person. Most male humans my age play video games, watch Youtube, eat, and sleep. I do all of those things, but I bring them up a level. I make video games (sometimes), try my best at editing Youtube videos, and I eat a lot and sleep normally.<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also, I'm a <em>very</em> good web-designer. This website is actually my best I'm sure... But, if you take a look at <a href="http://www.wildwestgraniteaz.com">www.wildwestgraniteaz.com</a> or <a href="http://villaingogh.x10.mx">villaingogh.x10.mx</a>, those are both my works.</p>
              <p>&nbsp;</p></td>
          </tr>
        </table>
      </div>
    </div>
    <div id="block3">
      <div id="container">
        <h1>Recent tweets...</h1>
        <p>
          <script src="http://widgets.twimg.com/j/2/widget.js"></script>
          <script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 21,
  interval: 6000,
  width: 'auto',
  height: 300,
  theme: {
    shell: {
      background: '#282828',
      color: '#707071'
    },
    tweets: {
      background: '#282828',
      color: '#ffffff',
      links: '#708c37'
    }
  },
  features: {
    scrollbar: true,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: 'all'
  }
}).render().setUser('FethrdWlf').start();
  </script>
        </p>
      </div>
    </div>
  </div>
  <div id="right">
    <div id="block2">
      <div id="container">
      <?php
        if(isset($_SESSION['flagged'])){
            echo $_SESSION['flagged'];
            unset($_SESSION['flagged']);
        }elseif(isset($_SESSION['notflagged'])){
            echo $_SESSION['notflagged'];
            unset($_SESSION['notflagged']);
        }
      ?>
        <h1>Most recent blog post...</h1>
        <?php include("scripts/latestpost.php"); ?>
</div>
    </div>
    <div id="block4">
      <div id="container">
        <h1>My latest Youtube video:</h1>
        <p>
          <iframe style="margin-bottom: 5px;" width="434" height="277" src="http://www.youtube.com/embed/dUyAA_CT-S0" frameborder="0" allowfullscreen></iframe>
        </p>
      </div>
    </div>
  </div>
</div>
<div id="copyright" style="background-color:#7b7b7b">
    <p style="font-size: 12px">2011 &copy; artfulME, Johnny McNeil</p></div>
</body>
</html>

我真的不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

如果浏览器没有输出,PHP只能发送标头来设置会话cookie 您应该检查以确保php脚本开头确实没有空格。您还可以检查文件编码,这可能使php认为有非打印字符的输出(如果您的托管服务提供商升级了php或更改了默认编码,可能会发生这种情况)。
你可能想查看你的ftp日志,看看是否有人设法进入你的网站,如果你不知道这是怎么回事,那就改变一些。

答案 1 :(得分:1)

我也遇到过这个问题。我通过将会话放在我的编码之上来解决它,然后删除会话之间的所有空白区域以及与会话相关的编码。