Codeigniter Mengenal Kesalahan Dan Cara Mengatasi Kesalahan

Codeigniter Mengenal Kesalahan Dan Cara Mengatasi Kesalahan
Codeigniter Mengenal Kesalahan Dan Cara Mengatasi Kesalahan
Didalam menjalankan kegiatan berbasis codeigniter tentunya ada kesalahan dan error yang sering kita jumpai, alasannya ialah kalau menjumpai kesalahan atau error warning maka kegiatan akan tidak jalan sesuai yang kita inginkan, berikut beberapa kesalahan yang tampil saat menciptakan kegiatan memakai codeigniter dan bagaimana cara mengatasinya:
  • Kesalahan Fatal error: Call to undefined function redirect()
Apa itu kesalahan function redirect()?. kalau terjadi kesalahan menyerupai ini biasanya didalam file controller yang kita punya mempunyai arahan redirect() untuk melaksanakan perintah yang kita inginkan, coba dilihat didalam file controller yang kita punya, kalau ada bukan kesalahan pada arahan yang ada di controller kita, alasannya ialah kita inginkan perintah redirect ini untuk dijalankan, namun kesalahan ini terjadi alasannya ialah tidak sanggup memanggil file url_helper.php yang ada didalam file system\helpers\ (silahkan dilihat difolder system\helpers\), yang mana isi dari url_helper.php mempunyai arahan atau function redirect yang mempunyai kegunaan untuk menjalankan perintah redirect lihat kodenya dibawah ini

if ( ! function_exists('redirect')) {  function redirect($uri = '', $method = 'location', $http_response_code = 302)  {   if ( ! preg_match('#^https?://#i', $uri))   {    $uri = site_url($uri);   }    switch($method)   {    case 'refresh' : header("Refresh:0;url=".$uri);     break;    default   : header("Location: ".$uri, TRUE, $http_response_code);     break;   }   exit;  } } 

Lalu bagaimana semoga function redirect yang ada didalam file url_helper.php sanggup dijalankan?. Untuk sanggup menjalankan fungsi atau function redirect ini melalui file autoload.php yang ada didalam folder application\config\ (silahkan dilihat) alasannya ialah file autoload.php ini memerintahkan secara otomatis function-function yang ada didalam file url_helper.php. jadi untuk kasus menyerupai ini bagaimana cara mengatasi kesalahan Fatal error: Call to undefined function redirect()? ini, berikut caranya:
  1. Buka file autoload yang ada didalam folder application\config\
  2. Tambahkan fungsi 'url' kedalam array helper,  lihat menyerupai arahan dibawah ini
$autoload['helper'] = array();  Menjadi  $autoload['helper'] = array('url'); 

Maka dengan menambahkan arahan url menyerupai di atas maka akan menjalankan perintah function redirect yang ada di url_helper.php

Kesalahan Berikutnya:
  • Kesalahan : Message: Undefined property: C_Pagination::$db
Jenis kesalahan dengan mendapat pesan menyerupai ini ialah kalau didalam controller kita adanya perintah arahan pagination menyerupai rujukan dibawah ini:

$this->pagination->initialize($config); 

Kode ini bahwa controller.php memerintahkan untuk menjalankan atau meload database.php dengan perintah "function initialize" yang ada didalam file Pagination.php yang ada didalam folder system\libraries\ (lihat kodenya).

function initialize($params = array())  {   if (count($params) > 0)   {    foreach ($params as $key => $val)    {     if (isset($this->$key))     {      $this->$key = $val;     }    }   }  } 

Lalu bagaimana cara mengatasi kesalahan dengan pesan Message: Undefined property:C_Pagination::$db ini, yaitu dengan cara membuka file autoload.php yang ada didalam folder application\config\. maka tambahkan arahan 'database' dan 'pagination' kedalam array. lihat menyerupai dibawah ini:
$autoload['libraries'] = array();  Menjadi  $autoload['libraries'] = array('database','pagination'); 

Maka dengan menambahkan autoload database.php yang ada didalam folder application\config\ dan pagination.php yang ada didalam foler system\libraries\ maka kedua file ini secara otomatis dibuka untuk melaksanakan perintah yang kita inginkan untuk menjalankan function-function yang ada didalam file pagination.php dan database.php


Kesalahan Berikutnya:

  • Kesalahan A Database Error Occured No database selected
 Didalam menjalankan kegiatan berbasis codeigniter tentunya ada kesalahan dan error yang se Codeigniter Mengenal Kesalahan dan Cara Mengatasi Kesalahan

Kesalahan ini ialah kesalahan yang terjadi tidak connect atau terhubungnya database yang dengan kegiatan codeigniter sehingga tidak sanggup memanggil perintah yang dilakukan oleh kegiatan codeigniter. kemudian bagaimana cara mengatasi kalau terjadi kesalahan menyerupai ini, berikut caranya:
  1. Buka file database.php yang ada didalam folde application\config\
  2. Lalu isi username dan password serta nama database sesuai dengan username password dan nama database yang ada dilocalhost anda lihat contoh
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = ''; $db['default']['password'] = ''; $db['default']['database'] = '';  Menjadi  $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = 'mysql'; $db['default']['database'] = 'db_pagination'; 

Maka dengan menambahkan username, password localhost serta menambahkan nama database yang ingin kita gunakan, maka kegiatan codeigniter sanggup terhubung atau sanggup connect sehingga perintah yang ada di dalam folder application\model\ yang meminta tabel database sanggup dijalankan.


Kesalahan Berikutnya:

  • Kesalahan Fatal Error: call to a member function set_userdata() on a non object dengan Message: Undefined property: C_ontroller::$session
Kesalahan ini ialah saat controller anda mempunyai arahan menyerupai ini

$this->session->set_userdata('row', $this->uri->segment(3)); 

Yang mana perintah arahan ini untuk menjalankan "function set_userdata" yang ada didalam file session.php yang mana file ini berada didalam folder system\libraries\ lihat kodenyanya dibawah ini:

function set_userdata($newdata = array(), $newval = '')  {   if (is_string($newdata))   {    $newdata = array($newdata => $newval);   }    if (count($newdata) > 0)   {    foreach ($newdata as $key => $val)    {     $this->userdata[$key] = $val;    }   }    $this->sess_write();  } 

Maka kalau kita amati "function set_userdata" ini diperintahkan untuk dijalankan didalam controller yang kita isi dengan arahan this-session=set_userdata, sehingga meminta me-load file session.php yang ada didalam folder system\libraries\ oleh alasannya ialah itu untuk mengatasi duduk kasus ini ialah dengan merintahkan load secara otomatis files session.php dengan menambahkan arahan 'session' yang ada didalam file autoload.php yang ada didalam folder application\config\ lihat kodenya dibawah ini:

$autoload['libraries'] = array('database','pagination');  Menjadi  $autoload['libraries'] = array('database','pagination','session'); 

Maka dengan menambahkan arahan 'session' didalam array ini maka otomatis menjalankan file session.php, sehingga semua function yang ada didalam file session sanggup dijalankan saat kita inginkan.


Kesalahan Berikutnya:

  • Kesalahan : An Error Was Encountered In order to use the Session class you are required to set an encryption key in your confiq file
Kesalahan ini alasannya ialah salah satu atau beberapa function yang kita gunakan didalam file session.php meminta kunci atau key menyerupai lihat arahan dibawah ini:

function set_userdata($newdata = array(), $newval = '')  {   if (is_string($newdata))   {    $newdata = array($newdata => $newval);   }    if (count($newdata) > 0)   {    foreach ($newdata as $key => $val)    {     $this->userdata[$key] = $val;    }   }    $this->sess_write();  } 

Coba lihat arahan diatas yang mana "function set_userdata" dalam menjalankan fungsinya meminta key dalam menjalankan perintahnya. kemudian bagaimana cara mengatasi kesalahan menyerupai ini?.
Untuk kesalahan menyerupai ini sanggup dilakukan dengan menambahkan key di dalam file config.php yang ada didalam folder application\config\ lihat menyerupai dibawah ini.

$config['encryption_key'] = '';  Menjadi  $config['encryption_key'] = '1234567890'; 

Untuk mengisi key ini Anda sanggup search di goole untuk mengetahui berapa banyak abjad untuk mengisi encryption_key yang ada didalam file config.php ini.

Sumber http://jepretcode.blogspot.com/