2016-04-04 23 views
0

私はcodeigniter 3.0.4フレームワークを使用しています。私はMY_input.phpという名前の入力クラスを拡張しました。私はこのファイルをapplication/coreフォルダの中に置きました。これは、私のlocalhost xamppサーバで問題なく動作しています。しかし、このエラーが発生しています私はライブサーバー上の私のプロジェクトフォルダを展開するとき、未定義のメソッドCI_Input :: load_query()を呼び出します。私はファイルを正しくアップロードしていると私はライブサーバー上のアプリケーション/コアフォルダにMY_input.phpを持っています。未定義のメソッドを呼び出すCI_Input :: load_query()

私はまだlocalhost上で正常に実行していますが、ライブでは実行できません。私はここに関連コードを貼り付けています。

class MY_input extends CI_Input 
{ 
public function __construct() 
{ 
    parent::__construct(); 

} 
public function save_query($query_array) 
{ 
    $CI =&get_instance(); 
    $CI->db->insert('ci_query',array('query_string'=> http_build_query($query_array))); 
    return $CI->db->insert_id(); 
} 

public function load_query($query_id) 
{ 
    $CI =&get_instance(); 
    $rows = $CI->db->get_where('ci_query', array('id' => $query_id))->result(); 
    if (isset($rows[0])) 
    { 
     parse_str($rows[0]->query_string, $_GET); 
    } 
} 
[![enter image description here][1]][1]} 

今すぐエラーがコードの中ではありませんが、私はMY_input.phpファイルを配置しています:Login_controller内部私は

function displaySorted($query_id = 0,$sortBy = 'DeviceName',$sortOrder = 'asc',$offset=0) 
    { 

     $dataS = $this->session->userdata('logged_in');    
     if(isset($dataS)) 
     { 
      $limit = 20; 
      $data['offset'] = $this->uri->segment(6); 
      $data['query_id']=$query_id; 
      $data['fields'] = array(
       'ID' => 'ID', 
       'DeviceType' => 'Device Type', 
       'RegistrationDateTime' => 'RegistrationDateTime', 
       'LastUpdateDateTime' => 'LastUpdateDateTime', 
       'LastPushNotificationSent' => 'LastPushNotificationSent', 
       'DeviceName' => 'Device Name', 
       'Latitude' => 'Latitude', 
       'Longitude' => 'Longitude', 
       'CityName' => 'CityName', 
       'StateName' => 'StateName', 
       'CountryName' => 'CountryName', 
       'AppVersion' => 'AppVersion', 
       'iOSVersion' => 'iOSVersion', 
       'IPAddress' => 'IPAddress', 
       'TotalCities' => 'TotalCities', 
       'DeviceDID' => 'DeviceDID', 
       'DeviceToken'=> 'DeviceToken', 
       'DeviceLanguageID'=> 'DeviceLanguageID', 
       'LocationID' => 'LocationID', 
       'TempScale' => 'TempScale', 
       'IsFreezeAlertEnabled' => 'IsFreezeAlertEnabled', 
       'ShouldShowTempOnBadge' => 'ShouldShowTempOnBadge', 
       'ShowNegativeAsPositive' => 'ShowNegativeAsPositive', 
       'LastTempC' => 'LastTempC', 
       'LastTempF' => 'LastTempF', 
       'IsDeviceUsingProdCert' => 'IsDeviceUsingProdCert' 
      );    
      $this->input->load_query($query_id); 
      $query_array = array(
       'DeviceName' => $this->input->get('DeviceName'), 
       'RegistrationDateTime' => $this->input->get('RegistrationDateTime'), 
       'LastUpdateDateTime' => $this->input->get('LastUpdateDateTime'), 
       'AppVersion' => $this->input->get('AppVersion'), 
       'iOSVersion' => $this->input->get('iOSVersion'), 
       'DeviceDID' => $this->input->get('DeviceDID'), 
       'DeviceToken' => $this->input->get('DeviceToken') 
      ); 

      $results = $this->user_model->searchSorted($query_array,$limit, $offset, $sortBy, $sortOrder);     
      $data['tableInfo'] = $results['rows']; 
      $data['num_results'] = $results['num_rows']; 
      $data['DeviceName'] =$query_array['DeviceName'];    $data['RegistrationDateTime']=$query_array['RegistrationDateTime']; 
      $data['LastUpdateDateTime']=$query_array['LastUpdateDateTime']; 
      $data['AppVersion']=$query_array['AppVersion']; 
      $data['iOSVersion']=$query_array['iOSVersion']; 
      $data['DeviceDID']=$query_array['DeviceDID']; 
      $data['DeviceToken']=$query_array['DeviceToken']; 
      //pagination functionality 
      $config['base_url'] = site_url("login_controller/displaySorted/$query_id/$sortBy/$sortOrder"); 
      $config['per_page'] = $limit; 
      $config['total_rows'] = $data['num_results']; 
      $this->pagination->initialize($config); 
      $data['pagination'] = $this->pagination->create_links(); 
      $data['sortBy'] = $sortBy; 
      $data['sortOrder'] = $sortOrder;   
      $this->load->view('adminPanel_view', $data); 
    } 
    else 
    { 
     //echo $this->;exit; 
     redirect('login_controller'); 
    } 

} 

今MY_input.phpは、このコードが含まれています。しかし、私は何をすればいいのかわかりませんし、この問題を解決するにはどうしたらいいですか?codeigniterのコアフレームワークファイルを変更したくありません。 MY_Input.php
とクラス名:

+0

ログインコントローラにMY_input.phpが含まれていましたか? – Yash

+0

私はLogin_controller内でload_query()とsave_query()メソッドを呼び出しています。この設定はアプリケーション/コアフォルダ内で自動的に検索されます。 localhostでは正常に動作していますが、liveerverでは動作しません –

答えて

0

は、私はあなたが右のキャメルケースのファイル名を使用すべきだと思う

class MY_Input extends CI_Input { 

(何卒ご了承下さい:I文字が大文字である)
は参照ドキュメント:
http://www.codeigniter.com/user_guide/general/core_classes.html

+0

wow。どうもありがとうございます。 –

関連する問題