2016-09-01 8 views
2

localhostでテストしたところ、正常に動作していますが、godaddyサーバーにアップロードした後にエラーが表示されるようになりました。それはcodeigniterバージョン2.2.6です。codeigniter loginヘッダー情報を変更できません

このエラーはログインページに表示されます。

エラーメッセージ1

メッセージ:ヘッダー情報を変更することはできません - すでに(出力によって送られたヘッダが/home/user/public_html/ngapali/test/application/controllers/admin/user.php:1で開始)

ファイル名:ライブラリ/ Session.php

行番号:433

エラーメッセージ2

メッセージ:ヘッダー情報を変更することはできません - すでにによって送られたヘッダ

ファイル名(出力が/home/user/public_html/ngapali/test/application/controllers/admin/user.php:1で開始):図書館/ 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'); 
}}?> 

ログイン

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

のモデル

<?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')); 
}}?> 

ビューページ私はこの問題は、オープンとクローズタグのものとすることができる検索。私はすべてのページを追加しようとするが、それでもエラーが表示されます。なぜ?。

答えて

3

エラーメッセージを読む:

出力は、ファイルが持っている /home/user/public_html/ngapali/test/application/controllers/admin/user.php:1

/user.phpで開始1行目の空白文字

<?phpタグの前に空白がないかどうかを確認します。

これを削除すると、リフレッシュエラーは消えてしまいます。

もう1つの提案、 コントローラーとモデルファイルの末尾のphpタグ?>を省略します。

もっとここで読む:Why would one omit the close tag?

0

これは、あなたの現在のdisplay_errors設定に表示されていないいる、エラーや警告が発生したので、おそらくです。私はこれらのエラー/警告を修正するためにそれをオンにすることをお勧めします。

関連する問題