2013-07-31 52 views
1

首先,我应该说我知道还有一些类似这个主题的其他主题,但在阅读这些主题后我无法解决我的问题。session_start()现金限额

所以,请访问: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 它不显示。

你知道吗answere? 谢谢

+1

其中一个包含的文件是直接通过'print'或'echo'或者通过产生错误来产生输出。确保您已打开所有错误报告,以便您可以看到正在生成的输出。还要确保在每个脚本顶部的第一个“<?php”之前删除_all_行(空格和其他)。 –

+0

我被逐行删除了代码。刚刚删除函数session_start()时解决了问题,而不是删除包含代码时解决了问题。 – AmirHussein

回答

1

尝试改变

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

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

谢谢。它确实有用!但我曾试过它!为什么?! – AmirHussein

+0

您需要首先启动会话,因为它会发送维护会话所需的头数据。如果你做任何输出,发送任何头文件都为时已晚。 –

1

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

<?php 
    ob_start(); 
    /* ... rest of code here */