已发送COOKIES标头

时间:2013-04-01 09:21:48

标签: php

我和COOKIE有问题。

错误:

  

无法修改标头信息 - 已在/ data / web / virtuals / 9784中发送的标头(在/data/web/virtuals/9784/virtual/www/subdom/roids/_libs/_lib.php:1处开始输出)第43行的/virtual/www/subdom/roids/_libs/_lib.php

指数:

<?php
session_start();
error_reporting(E_ALL);
require_once('_libs/_console.php');
require_once('_libs/class.phpmailer.php');
require_once('_libs/_lib.php');
//require_once('_libs/PasswordLib.phar');

$db = new database();
$func = new functions($db);
$cms = new CMS_system($func, $db);


$func->setLang();

文件_lib.php以<?php开头,并且开头没有空格。该文件包含类和函数。

功能setlang:

    public function setLang() {

    setcookie("lang", "sk", time()+60*60*24*30);
    if (isset($_POST['lang'])) {
        setcookie("lang", $_POST['lang'], time()+60*60*24*30);
    }

}

我尝试从脚本中删除session_start,但这不起作用。感谢您的任何意见或解决方案

3 个答案:

答案 0 :(得分:0)

如果在_lib.php文件中删除Echo,请尝试..

答案 1 :(得分:0)

您可以尝试从所有3个包含的文件中删除关闭PHP标记(即?&gt;),然后检查?

答案 2 :(得分:0)

将数据发送到客户端后,您无法修改Cookie。在打印内容之前进行setlang调用。