警告:无法修改标头信息 - 已经发送的标头(输出开始于

时间:2014-07-04 14:13:42

标签: php header tags

当我在我的本地主机上测试我的网站时,一切正常。但是,当我在我的网络服务器上测试时,总会出现这个错误:

警告:无法修改标头信息 - 已在第14行的/users/asdasd/www/classes/Redirect.php中发送的标头(在/users/evernet/www/classes/DB.php:139处开始输出)< / p>

   class Redirect {
    public static function to($location = null) {
        if($location) {
            if(is_numeric($location)) {
                switch($location) {
                    case 404:
                        header('HTTP/1.0 404 Not Found');
                        include 'inc/errors/404.php';
                        exit();
                    break;
                }
            }
            header('Location: ' . $location);
            exit();
        }
    }
}

-

require_once 'core/init.php';

$user = new User();
if($user->isLoggedIn()) {
    Redirect::to('index.php');
}

if(input::exists()) {
    if(Token::check(Input::get('token'))) {

        $validate = new Validate();
        $validation = $validate->check($_POST, array(
            'username' => array('required' => true),
            'password' => array('required' => true) 
        ));

        if($validation->passed()) {
            $user = new User();
            $login = $user->login(Input::get('username'), Input::get('password'));

            if($login) {
                Redirect::to('admin.php');
            }else {
                echo '<p>Sorry, logging in failed.</p>';
            }

        }else {
            foreach ($validation->errors() as $error) {
                echo $error, '<br />';
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在/users/evernet/www/classes/DB.php:139,你输出了一些文字。

可能是这样的:

<?php
//some code
?> <------ A space or newline here

尝试删除?&gt;如果是这样,你在第139行寻找/users/evernet/www/classes/DB.php