首页 文章

codeigniter login无法修改标头信息

提问于
浏览
2

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

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

Error Message 1

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

文件名:libraries / Session.php

行号:433

Error Message 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) . "
"; $password = array( 'name' => 'password', 'class' => 'form-control', 'placeholder' => 'Password' ); echo form_password($password) . "
"; $submit = array( 'name' => 'submit', 'class' => 'form-control btn btn-primary', 'value' => 'Login' ); echo form_submit($submit); echo form_close(); ?> </div> </div>

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

2 回答

  • 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?

  • 0

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

相关问题