codeigniter login无法修改标头信息

时间:2016-09-01 13:26:26

标签: codeigniter

我测试我的localhost运行良好,现在显示任何错误,但上传到godaddy服务器后。它是codeigniter版本2.2.6。

此错误显示在登录页面中。

错误消息1

消息:无法修改标头信息 - 已经发送的标头(输出从/home/user/public_html/ngapali/test/application/controllers/admin/user.php:1开始)

文件名:libraries / Session.php

行号:433

错误消息2

消息:无法修改标头信息 - 已经发送的标头(输出从/home/user/public_html/ngapali/test/application/controllers/admin/user.php:1开始)

文件名:libraries / Session.php

行号:689

我的控制器的管理控制器

<?php

class Admin_Controller extends MY_Controller{

function __construct(){
    parent::__construct();

    $this->load->helper('form');
    $this->load->library('form_validation');
    $this->load->library('session');

    $this->load->model('user_m');
    $this->load->model('roomtype_m');   
    $this->load->model('room_m');
    $this->load->model('roomcapacity_m');


    //login check
    $exception_uris = array(
        'admin/user/login',
        'admin/user/logout'
    );

    if(in_array(uri_string(), $exception_uris) == FALSE) {
        if($this->user_m->loggedin() == FALSE) {
            redirect('admin/user/login');
        }
    }
}}?>

我的登录页面/用户/登录

控制器

<?php

class User extends Admin_Controller {

function __construct(){
    parent::__construct();

}

public function index() {
    $this->data['users'] = $this->user_m->get();
    $this->data['subview'] = 'admin/user/index';
    $this->load->view('admin/_layout_main',$this->data);
}


public function login() {
    $dashboard = 'l0gadmin/dashboard';
    $this->user_m->loggedin() == FALSE || redirect($dashboard);

    $rules = $this->user_m->rules;
    $this->form_validation->set_rules($rules);
    if($this->form_validation->run() == TRUE){
        if($this->user_m->login() == TRUE){
            redirect($dashboard);
        }else{
            $this->session->set_flashdata('error','That email/password combination does not exist ');
            redirect('admin/user/login','refresh');
        }
    }
    $this->data['subview'] = 'admin/user/login';
    $this->load->view('admin/_layout_modal',$this->data);
}

public function logout(){
    $this->user_m->logout();
    redirect('admin/user/login');
}}?>

模型

<?php

class User_m extends MY_Model {



function __construct(){
    parent::__construct();
}


public function login(){
    $user = $this->get_by(array(
        'email'=> $this->input->post('email'),
        'password' => $this->hash($this->input->post('password')),
        ),TRUE);

    if(count($user)){
        $data = array(
            'name'=> $user->name,
            'email' => $user->email,
            'id'=> $user->id,
            'loggedin'=>TRUE,
            );
        $this->session->set_userdata($data);
    }
}

public function logout(){
    $this->session->sess_destroy();
}
public function loggedin(){
    return (bool) $this->session->userdata('loggedin');
}


public function hash($string){
    return hash('sha512', $string . config_item('encryption_key'));
}}?>

查看登录页面

    <div class="row">
    <div class="col-md-3">
        <h2>Admin Login</h2>

        <?php 

                echo validation_errors();
                echo form_open('');
                $email = array(

                    'name'          => 'email',
                    'class'         => 'form-control',
                    'placeholder'   => 'Email Address'

                );
                echo form_input($email) . "<br/>";

                $password = array(
                    'name'        => 'password',
                    'class'       => 'form-control',
                    'placeholder' => 'Password'
                );
                echo form_password($password) . "<br/>";

                $submit = array(
                    'name'  => 'submit',
                    'class' => 'form-control btn btn-primary',
                    'value' => 'Login'
                );
                echo form_submit($submit);

                echo form_close();

        ?>


    </div>
</div>

我搜索这个问题可以是开放和封闭的标签。我尝试添加所有页面但它仍然显示错误。为什么呢?

2 个答案:

答案 0 :(得分:3)

阅读错误消息:

  

输出开始于   /home/user/public_html/ngapali/test/application/controllers/admin/user.php:1

/user.php文件在第1行有一些空白字符

检查<?php代码前的空格。

删除它并刷新错误将消失。

还有一个建议, 在控制器和模型文件中省略结束php标签?>

在此处阅读更多内容:Why would one omit the close tag?

答案 1 :(得分:0)

这很可能是因为发生了错误或警告,由于您当前的display_errors设置而无法看到。我建议打开它以修复这些错误/警告。