如何隐藏会话的警告消息?

时间:2012-09-05 12:18:06

标签: php session session-variables mysql-error-1064

我收到了如下图所示的警告信息,我认为是由于添加了一个额外的会话变量(session_start)所以我想要的是我需要隐藏该警告。 enter image description here

实际上,如果我没有在开始时给会话以获得用户会话但是如果没有给出会话没有设置会议但是在添加会话时会发出警告。可能是什么问题?

代码:

    <?php
    session_start();
    include("connect/config1.php");
?>

2 个答案:

答案 0 :(得分:3)

您必须将session_start()放在文档的开头。在此次通话之前必须没有输出。

隐藏信息并不能解决您的问题。

如果您只想隐藏警告:

<?php
ini_set('error_reporting', 0);
ini_set('display_errors', 0);
?>

查看你的fullsearch.php,开头可能有一个空行(<?php之前)。删除它。

答案 1 :(得分:2)

永远不要尝试在开发环境中隐藏警告:它们在寻找错误时非常有用。例如,如果没有此特定警告,您可能永远不会知道为什么实际上没有发送与会话相关的标头(换句话说,为什么会话不起作用)。

取消显示警告的原因。这个特殊警告很可能是由在您可靠的<?php代码分隔符前爬行的流氓空白引起的。这意味着服务器已经开始向客户端输出内容,但是您希望它们返回发送标头...

因此,检查文件并确保在调用session_start()之前回显 nothing This discussion可能会非常有帮助。 )

<强>更新

事实上,你在问题中引用的代码非常清楚:

   <?php
    session_start();
    include("connect/config1.php");
?>

请参阅<?php前面有空格。这意味着服务器实际上将发送这些符号(在HTTP响应主体中),然后才开始解析脚本本身。但随后它会被指示发送标题 - 并且对这个警告发出嘶嘶声。

解决方案很简单:删除空格。这样不仅警告会消失,而且会话也会开始起作用。 )