1

首先,我应该说我知道还有其他一些类似这个主题的主题,但是在阅读了这些主题后我无法解决我的问题。

所以,请转到:LINK,您会看到一个错误:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home3/icompir/public_html/myscript/index.php:1) in /home3/icompir/public_html/myscript/index.php on line 3

我知道这个错误与标题和发送的标题有关。但在“index.php”文件中,标题不会在“session_start();”之前发送 !

你可以看到这个页面的代码:

<?php
include('inc.php');
session_start();
include('header.php');
?>
<title>صفحه اصلی</title>
</head>
<body><div class="body">

<?php
include('navigation.php');
include('sidebar.php');
?>
<div id="content">
<strong>در دست اجرا:</strong>
<ul>
    <li>بهینه سازی اسکریپت.</li>
    <li>اضافه کردن امکان تغییر پسورد.</li>
    <li>اضافه کردن ارسال ایمیل تایید پس از ثبت نام.</li>
    <li>تذکر هنگام ثبت نام اگر نام کاربری مشابه وجود داشت.</li>
    <li>اضافه کردن امکان پیام خصوصی.</li>
    <li>تکمیل بخش پروفایل.</li>
    <li>پیاده سازی جی کوئری و آژاکس روی قسمت های مختلف سایت ...</li>
</ul>

<div style="clear:both"></div>
</div>
<div style="clear:both"></div>

</div></body>
</html>

如果您认为“inc.php”中有一些标题,我会说您这是不正确的。这是“inc.php”的代码:

<?php 
include('constants.php');
require_once('functions.php');
?>

我也检查了“contants.php”和“functions.php”。这些文件中没有标题。这个错误也只显示在 index.php 中!当您登录或访问 http://icomp.ir/register.php 时,它不会显示。

你知道答案吗?谢谢你

4

3 回答 3

1

尝试改变

<?php
include('inc.php');
session_start();
include('header.php');
?>

<?php
session_start();
include('inc.php');
include('header.php');
?>
于 2013-07-31T17:05:28.923 回答
1

@KirkBackus 已经给出了一个很好的答案,但我只想补充一点,如果你愿意,你也可以通过使用输出缓冲区来处理这个问题。打开一个缓冲区作为脚本中的第一件事 - 然后输出将被缓冲直到脚本结束,这允许您session_start在脚本中发送标题(依赖于)。在您可能并不总是需要使用会话的情况下,这可能是一种更易于管理的方法。

<?php
  ob_start();
  /* ... rest of code here */
于 2013-08-01T11:03:22.077 回答
0

此外,检查编辑器的设置 - 如果在 UTF 编码文件的开头添加了 BOM 字节,请将其禁用。

请参阅导致会话错误的字节顺序标记

于 2013-07-31T17:10:23.713 回答