Tampilkan postingan dengan label Codeigniter. Tampilkan semua postingan
Tampilkan postingan dengan label Codeigniter. Tampilkan semua postingan

Membuat Log Error pada codeigniter

Januari 11, 2018

Sebelumnya saya sudah membuat tutorial bagaimana cara Menghilangkan pesan Error php pada Codeignite,sekarang saya akan melanjutkan bagaimana cara menampilkan error log pada codeigniter, disaat kita menyembunyikan atau hidden notif error php pada codeigniter dengan Handling Multiple Environments menggunakan setting production bukan berarti aplikasi atau project web kita tidak ada masalah tanpa pesan error dari tampilan memang tidak keliatan ada error namun untuk kelanjutannya akan berdampak buruk bagi project web kita  kemungkinan fungsi-fungsi tersebut tidak bisa berjakan baik saat ekseskusi. nah... saat web kita berjalan dengan setting environment production kita bisa melihat error apa saja  yang terjadi pada web kita, pada codeigntier terdapat 4 jenis pesan log yang bisa kita tampilkan yakni :


  • 0 = Log error dinonaktifkan.
  • 1 = Pesan error (termasuk error php)
  • 2 = Pesan Debug
  • 3 = Pesan Informasi
  • 4 = Menampilkan semua pesan



Untuk membuat log error codeigniter kita harus mengaktifkan nya terlebih dahulu. secara default log error pada codeigniter diset dalam keadaan off yakni dengan option '0'. lalu kita bisa mengedit pesan error sesuai dengan kebutuhan kita dengan memilih salah-satu pesan error atau multiple. berikut contohnya.

1. Buka folder project web anda.



2. Lalu buka file config.php pada folder root/application/config/config.php



3. Lalu kita cari config log_threshold berada pada line 226.



4. Disana dapat kita lihat bahwa pengaturan log secara default 0 berarti pesan error atau log error dalam keadaan off.

5. Selanjutnya kita set sesuai kebutuhan kita.
$config['log_threshold'] = 1; //berarti error php akan tampil pada log error
$config['log_threshold'] = 2; //pesan debug akan tampil di log error
$config['log_threshold'] = 3; //pesan informasi akan tampil pada log error
$config['log_threshold'] = 4; //semua pesan akan muncul (error, informasi maupun debug)

6. Nah lalu bagaimana jika saya hanya ingin menampilkan pesan error dan pesan informasi saja, nah  itu kita bisa mensetting nya dengan menggunakan array().
$config['log_threshold'] = array(1,3); //berarti pesan yang akan muncul erro dan informasi saja

7. Nah lalu anda dapat melihat pesan error tersebut pada folder logs. root/application/logs





7. Setiap logs akan dibuat dalam 1 file php perhari, jadi jika beda hari akan buat file baru sesuai tanggal error.



8. Setelah kita buka maka tampilannya akan seperti ini.



Nah bagaimana cukup mudah kan cara membuat log error pada codeigniter, tapi perlu di ingat jika web kita sudah dihosting ataupun dilocalhost jika log error berjalan jangan kaget jika tiba-tiba kapasitas hosting anda menjadi penuh jadi perlu dicek secara berkala logs error jika memang tidak sangat dibutuhkan bisa dinonaktifkan saja.


Semoga bermanfaat

Menghilangkan pesan Error php pada Codeigniter

Januari 01, 2018


Saat ini saya akan membuat artikel tentang cara menyembunyikan error pada codeigniter, dimana ini sangat penting bagi anda yang sedang membangun website saat dihosting maupun dilokal mungkin saat web sudah siap di publish namun anda belum mengecek pada setiap page dan script controlles atau views ketika anda atau user sedang mengakses web dan terdapat debug atau tampilan pesan error pada script php yang dimana itu adalah salah satu celah untuk seorang hacker untuk meretas web kita dari error tersebut. kita biasa menyembunyikan dengan menggunakan script default php yakni error_reporting(0); atau E_ALL & ~E_NOTICE namun pada framework codeigniter script tersebut sudah tersedia dan dibuat lebih mudah untuk digunakan yakni dengan Handling Multiple Environments dimana anda bisa mengatur kebutuhan project anda. terdapat 3 handing yang bisa digunakan yakni :  
  • development
  • testing
  • production

Development, dimana pada environments development ini biasanya digunakan saat anda sedang membuat sebuah project masih dalam tahap pengembangan, sehingga setiap error atau warning akan muncul untuk memberitahu kita bahwa ada yang salah dari script php yang kita buat, maka kita set environments menjadi development.

Testing, dari document user guide memang tidak dibahas tentang environments testing namun mungkin maksud nya environments testing ini kita bisa custom sendiri untuk handling environments. CMIW

Production, saat web kita sudah masuk kedalam tahap running atau publish maka kita bisa aktifkan environments production untuk menyembunyikan pesa error pada web kita saat sedang berjalan. 

cara untuk mengubah environments pada codeigniter sebagai berikut.

1. buka folder project kita.











2. lalu buka file index.php dengan software editor kesayangan anda.










3. ubah environments development menjadi production untuk handling error pada web kita.











Selesai dan coba testing pada web anda buatlah sebuah kesalahan script php dan coba ubah environments antara production dan development. sekian dari saya semoga bermanfaat dan jangan lupa follow terus dan KLIK iklan nya ya..


Menghitung selisih waktu detik, menit dan hari pada codeigniter

Juni 09, 2017

Jika anda sering menggunakan facebook atau medsos lainnya pasti anda sering melihat postingan temen-temen pada halaman dashboard anda, dan yang pasti anda akan melihat kapan postingan tersebut dipublish apakah 1 detik yang lalu, 1 menit yang lalu, atau 1 hari yang lalu. Nah pada tutorial ini saya akan membuat bagaimana cara menghitung  waktu menjadi jumlah detik, menit maupun hari dengan menggunakan helper time ago yang dibuat oleh Prajwol KC , dimana prosesnya waktu sekarang dikurangi waktu posting dan dibagi jumlah waktu kurang lebih seperti itu, untuk lebih lengkapnya lihat tutorialnya dibwah ini.

1. Download Time ago helper di Github.

2. Simpan helper Time ago pada folder helpers.
 
3. Aktifkan helper pada autoload biar otomatis bisa dipanggil setiap controllers.


4. Pastikan format tanggal pada database anda adalah Timestamp.

 5.Jika sebelumnya tanggal database anda format nya date time atau varchar anda  bisa convert dengan strtotime.
//jika data masih dalam bentuk datetime ex:2017-06-10 01:20:15
time_get = strtotime($dateinput);
echo time_ago($time_get);

//jika data sudah bentuk timestamp ex:1440012545646
echo time_ago($dateinput);
6.  dan hasilnya akan menjadi seperti berikut.


Biasanya time ago digunakan pada tampilan komentar, pesan atau chat tapi anda juga bisa menggunakannya sesuai kerpeluan anda, untuk kata sec, day, month bisa anda ubah pada helpers sesuai kebutuhan anda.

Semoga bermanfaat.

Membuat paging tabel Codeigniter menggunakan plugin Datatables

Mei 13, 2017

Pada pembuatan sebuah project pasti anda sering menggunakan sebuah tabel pada views untuk menampilkan data dari database, jika data anda ada 20 atau 50 mungkin tidak akan bermasalah jika data tersebut muncul pada sebuah page views namun bagaimana jika data anda ada lebih dari 200 data tabel anda akan tampil sangat panjang ke bawah dan user harus menscroll ke bawah lumayan melelahkan, untuk memudahkan maka kita harus membuat sebuah paging tabel agar data bisa dibagi menjadi beberapa bagian. di Di tutorial ini akan menjelaskan cara membuat tabel dengan plugins datatables, kenapa mesti harus menggunakan  plugins datatables? Dengan menggunakan plugin datatables anda tidak perlu membuat script paging pada controllers hanya dengan memanggil data array dari database. Apa ke untungan menggunakan plugin datatables? Selain untuk membuat sebuah pagging plugins data tables juga bisa digunakan untuk membuat search data, sort data, select download data dll. Untuk lebih jelas nya berikut tutorial nya.

1. Download plugins datatables disini atau disini

2. Buat sebuah folder assets pada project lalu Extract hasil download.
3. Sekarang buat sebuah Controllers untuk menampilkan data.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class data_alat extends CI_Controller {
public function index() {
data = array ('alat' => $this->MyModels->show_alat());
$this->load->view('v_alat', $data);
}

4.Buat sebuah sebuah Models untuk query database dan jangan lupa panggil model di autoload.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MyModels extends CI_Model {
function get_all_alat(){
$query = $this->db->select('*')
->from('tbalat')
->get();

if ($query->num_rows() > 0) {
foreach ($query->result() as $data) {
$hasil[] = $data;
}
return $hasil;
}

}
5. Selanjutnya buatlah sebuah Views untuk menampilkan data disini saya menggunakan css Bootstrap.
<link href="<?php echo base_url(); ?>assets/css/bootstrap.min.css" rel="stylesheet"/>
<link href="<?php echo base_url(); ?>assets/datatables/media/css/dataTables.jqueryui.min.css" rel="stylesheet"/>
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/jquery-2.2.3.min.js"></script>
<script src="<?php echo base_url(); ?>assets/datatables/media/js/jquery.dataTables.min.js"></script>


<table id="example" class="table table-bordered table-striped">
<thead>
<tr>
<th class="text-center">No</th>
<th class="text-center">Kode Alat</th>
<th class="text-center">Nama Alat</th>
<th class="text-center">No Seri</th>
</tr>
</thead>
<tbody>
<?php
if ($alat == NULL) {
?>
<!-- kosongkan jika tidak ada data -->
<?php
} else {
$no = 1;
foreach ($alat as $row) {
?>
<tr>
<td><?php echo $no; ?></td>
<td><<?php echo $row->kode_alat; ?></td>
<td><?php echo $row->namaalat; ?></td>
<td><?php echo $row->merk; ?></td>
<td><?php echo $row->noseri; ?></td>
<?php
$no++;
}
}
?>
</tr>
</tbody>
</table>
6. Tambahkan Script berikut untuk menampilkan datatables.
<script>
$(function () {
$('#datatables').dataTable();
});
</script>
7. Jika sudah jalankan web nya.
 8. Selain itu anda juga bisa mengatur paging atau menonaktifkan fitur yang ada dengan menambahkan script berikut dengan menggubah true menjadi false untuk menonaktifkan.
<script>
$(function () {
$('#datatables').dataTable({
"scrollX": true, // Menampilkan scroll
"paging": true, // Menampilkan paging
"searching": true, // Menampilkan Searching
"ordering": true, // Menampilkan Order tabel
"info": true, // menampilkan info
"language": {
"zeroRecords": "Tidak ada data" //Menampilkan text jika data kosong
}
});
});
</script>

Selain script diatas masih banyak fitur yang bisa digunakan oleh datatables dengan mengunjungi website resminya datatables.net. anda juga bisa mengeksplor lebih jauh penggunaan datatables pada project anda.


Demo

Semoga bermanfaat


Membuat multiple database pada Codeigniter

April 28, 2017


Dalam membangun sebuah sistem informasi berbasis web pasti kita membutuhkan sebuah database, dan dimana database yang kita buat sudah banyak data nya jadi terpaksa kita buat database baru, atau saat kita membuat sebuah project yang besar client meminta ada 4 database yang berbeda untuk setiap page nya. jika itu terjadi jangan khawatir itu semua bisa di atasi, kita bisa meload multiple database dalam satu project sehingga dalam 1 model kita bisa memanggil lebih dari satu database. untuk lebih jelasnya berikut cara nya.

1. Pastikan library database sudah dipanggil biar otomatis gunakan autoload libary.
$autoload['libraries'] = array('database'); 
2. Buka file config database pada project anda, secara default maka akan tampak seperti ini.
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'database1',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
3. Untuk menmbahkan database baru tinggal copy database default, pada script ini $db['default'] ubah kata default menjadi kata inittial database anda.
$active_group = 'my_db1';
$query_builder = TRUE;

$db['my_db1'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'my_database1',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);


$active_group = 'my_db2';
$query_builder = TRUE;

$db['my_db2'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'my_database2',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
4. Jika sudah saatnya kita terapkan pada models, buka models kalian, dan tambahkan script berikut.
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class M_models extends CI_Model {

public function __construct(){
parent::__construct();
$this->db1 = $this->load->database('my_db1', true); //untuk memanggil database 1
$this->db2 = $this->load->database('my_db2', true); //untuk memanggil database 2
}

function get_detail_db1(){
$query = $this->db1->select('*')
->from('tbProgramer')
->order_by('skill','ASC')
->get();
return $query;
}

function get_detail_db2(){
$query = $this->db2->select('*')
->from('tbGaji_programer')
->order_by('S1','ASC')
->get();
return $query;
}


Semoga bermanfaat

Mengatasi error Only variable references should be returned by reference pada Codeigniter

April 17, 2017

Mungkin kita sering mendownload project Codeigniter dari website atau forum-forum Codeigniter lainnya sebagai referensi kita untuk belajar atau kadang juga untuk mengembangankan project tersebut. namun terkadang ada saja masalah atau error yang kita alami saat menjalankan project tersebut salah satu nya yakni Only variable references should be returned by reference, mungkin peringatan error tersebut kita hilangkan dengan menyembunyikan pesan error tersebut dengan error_reporting(E_ALL & ~E_NOTICE);,  tapi yang ditakutkan project kita kedepannya akan menimbulkan masalah baru saat project kita sudah sampai ke user, terkadang masalah ini terjadi karena versi PHP berbeda, jika kita gunakan pada versi PHP 5.3 akan normal namun jika kita menggunakan versi PHP lebih tinggi maka akan muncul error tersebut (pengalaman pribadi). jadi daripada kita downgrade atau upgrade PHP kita mungkin trick ini bisa membantu mengatasi maslah error tersebut, berikut caranya.

1. Buka file Common.php path lokasi project/system/core/common.php.


2. Cari baris 257 pada file tersebut, setiap versi Codeigniter mungkin berbeda barisnya.



3. Hapus script pada baris tersebut dan ganti dengan script dibawah ini.


4. Jika sudah save lalu refresh page kita maka error teratasi.



Semoga bermanfaat


Membuat Login dan Session pada Codeigniter

April 06, 2017

Dalam pembuatan system aplikasi berbasis website biasanya  diperlukan menu login pada homepage  dimana menu login ini berfungsi untuk memberikan akses kepada  user agar bisa masuk  kedalam menu system sebagai anggota atau member.  pada kesempatan ini saya akan membuat tutorial bagaimana cara membuat menu login dengan session pada codeigniter.  sedikit penjelasan tentang session,  session adalah salah satu fasilitas yang ada pada PHP yang digunakan untuk menyimpan data sementara ke dalam variabel (variabel session) sehinga data tadi dapat di akses oleh client selama variabel session tadi tidak di kosongkan atau dihilangkan. Nilai variabel di dalam session di simpan di sisi server (web server). Jadi saat kita melakukan akses login proses pembuatan session kita lakukan, data session kita buat sesuai dengan kebutuhan kita. Untuk lebih jelasnya berikut tutorialnya.

1.Buatlah sebuah project Codeigniter.
2.Selanjutnya buat sebuah database dan sebuah tabel dengan nama tabel tbuser.
CREATE TABLE `tbuser` (
  `id_user` int(11) NOT NULL,
  `nama` varchar(100) NOT NULL,
  `username` varchar(100) NOT NULL,
  `password` varchar(200) NOT NULL,
  `last_login` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
3.Aktifkan libraries session pada config autoload agar otomatis digunakan disemua Class.
$autoload['libraries'] = array('database',  'session');
$autoload['helper'] = array('url', 'form');
4. Buatlah sebuah Controllers  dengan nama class Login.php dan ketikan script berikut untuk menampilkan halaman login.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function index() {
$this->load->view('login');
}
//script lanjutan dibawahnya

}
5. Tambahkan script function baru pada class Login.php  untuk proses Login.
public function do_login() {
    $data       = $this->input->post(null,true);
    $username = $this->security->xss_clean($this->input->post('username'));  
    //proses cek ke database
    $is_login = $this->db->get_where('tb_user',array(
                    'username'=>$data['username'],
                    //'password'=>md5(trim($data['password'])),
                    'password'=>$data['password'])
                )->row();                                  
          
    if($is_login){  
        //proses pembuatan session
        $session_set = array(          
            'is_login'        => true,
            'username'        => $username,                          
            'id_user'        => $is_login->id_user,
            'nama'            => $is_login->nama,
            'last_login'    => $is_login->last_login
        );
        //proses update database
        $this->db->update('tb_user',
                array('last_login'=>date('Y-m-d H:i:s')),
                array('id_user'=>$is_login->id_user)
            );
        $this->session->set_userdata($session_set);
        $this->session->set_flashdata('msg',
            '<div class="alert alert-danger">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            Welcome </div>');  
        //Jika login benar maka masuk kedalam menu home              
        redirect('login/dashboard');          
    } else {
        $this->session->set_flashdata('msg',
            '<div class="alert alert-danger">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            username dan password salah </div>');
        //Jika login salah maka kembali ke menu login                  
        redirect('login');
    }
}
6. Tambahkan script function baru pada class Login.php  untuk proses Logout.
public function logout(){        
    $this->session->sess_destroy();
    redirect('login');
}

7. Sekarang kita buat  sebuah  Views  untuk tampilan login. Buat sebuah views dengan nama v_login.php disni saya menggunakan template bootstrap mungkin anda bisa menggunakan template sesuai selera anda.
<form role="form" method="post" action="<?php echo base_url();?>login/do_login">
    <input type="text" name="username" class="form-control input-sm chat-input" placeholder="username" />
    </br>
    <input type="password" name="password" class="form-control input-sm chat-input" placeholder="password" />
    </br>
    <div class="wrapper">
    <span class="group-btn">
        <button type="submit" class="btn btn-primary">&nbsp;&nbsp;<i class="fa fa-sign-in"></i> Login&nbsp;&nbsp;</button>
    </span>
    </div>
</form>
8. Selanjutnya tampilan menu dashboard ketika berhasil login
<div class="container" style="margin-top:20px;">    
    <div class="container">   
        <div class="col-md-12">
        <table class="table table-striped">
        <thead>
            <tr>
                <th>Session id_user</th>
                <th>Session nama</th>
                <th>Session username</th>
                <th>Session last login</th>
            </tr>
        </thead>
            <tr>
                <td><?php echo $this->session->userdata('id_user'); ?></td>
                <td><?php echo $this->session->userdata('nama'); ?></td>
                <td><?php echo $this->session->userdata('username'); ?></td>
                <td><?php echo $this->session->userdata('last_login'); ?></td>
            </tr>   
        </table>
            <tr>
                <td><pre>echo $this->session->userdata('id_user');</pre></td>
                <td><pre>echo $this->session->userdata('nama');</pre></td>
                <td><pre>echo $this->session->userdata('username');</pre></td>
                <td><pre>echo $this->session->userdata('last_login');</pre></td>
            </tr>   
        </div>
    </div>
</div>
9. Mari kita jalankan. Jika berhasil hasilnya seprti gambar berikut.


Untuk menghapus data session secara otomatis dapat diset pada application/config.php dengan menentukan berapa lama waktu untuk expired session` sess_expiration` sehingga saat anda membuka  website tersebut tanpa melakukan aktivitas maka akan otomatis logout sesuai waktu yang ditentukan.

Demo 

Semoga bermanfaat

Cara membuat Route pada Codeigniter

Maret 08, 2017

Para pengguna Codeigniter pasti tau apa fungsi dari Route??? jika anda membuat sebuah project pasti anda akan melakukan konfigurasi route untuk menentukan Class mana pada controller yang akan pertama kali diload dan menampilkan sebuah halaman pertama, selain untuk memetakan permintaan atau request kedalam class controller didalam website route juga berfungsi untuk mempercantik URL kita, secara default script route pada codeigniter seperti berikut .


$route['default_controller']= 'welcome';
dari script diatas maka dapat kita jabarkan bahwa $route['default_controller'] merupakan sebuah route default untuk pertama kali menjalankan perintah Class, sedangkan welcome adalah sebuah Class yang akan dibaca pertama kali dan diteruskan ke View. Sehingga setiap anda menjalankan web anda pertama kali maka akan tertuju pada class dan fungsi yang sudah ditentukan oleh default_controller. Adapun berikut contoh konfigurasi route pada codeigniter.


dari keterangan URL diatas kita bisa membuat route tanpa membuat fungsi dengan nama user, karena setiap awal class fungsi index akan dibaca terlebih dahulu sebagai default. Untuk membuat route maka kita edit file routes.php pada project kita application/config/routes.php.

$route['login/user'] = 'login';
bisa kita pahami bahwa route diatas menunjukan bahwa url ‘login/user’akan dialihkan ke controller dengan class login. Contoh lain

dari keterangan URL diatas kita dapat lihat bahwaURL terdiri dari Class dan fungsi.

$route['data/karyawan/hrd'] = 'karyawan/get_karyawan_hrd';
bisa kita lihat bahwa route diatas menunjukan bahwa url ‘data/karyawan/hrd’ akan dialihkan ke controller dengan class karyawan dengan fungsi get_karyawan_hrd. Contoh lain mengambil URI segment dari route.


Sebelumnya anda pasti pernah menggunakan URI segment? Uri segment kepanjangan dari Uniform Resources Identifer Yang berfungsi untuk mengambil class, fungsi atau id pada URL. Dari contoh diatas dapat kita lihat bahwa URL tersebut terdiri dari class , fungsi dan id. Untuk mendapatkan id dari URL maka kita perlu menambahkan script (:any) untuk semua karakter atau (:num) jika id anda sebuah type number.

$route['data/karyawan/hrd/
(:any)'] = 'karyawan/get_karyawan_hrd/$1';
Penjelasan dari script route diatas menunjukan bahwa url ‘data/karyawan/hrd’ akan dialihkan ke controller dengan class karyawan dengan fungsi
get_karyawan_hrd sedangkan ‘(:any)’ merupakan sebuah nilai yang akan kita ambil, selanjutnya '$1' merupakan sebuah parameter yang disematkan pada function dicontroller sehingga kita tidak perlu menambahkan script $this→uri→segment(‘4’); pada function untuk mengambil nilai.Penulisan script pada Contrllers seperti berikut.

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class karyawan extends CI_Controller {

    public function get_karyawan_hrd($id) {

        $data = array (

                'data_karyawan=> $this->Models->get_detail($id)

        );

        $this->load->view('layout/wrapper',$data);

    }

}
 
Saya rasa sudah cukup cara membuat route dicodeigniter semoga bermanfaat bagi para developer semua

Cara membuat template Site pada Codeigniter

Februari 15, 2017
 

Sekarang saya akan membuat tutorial bagaimana Cara membuattemplate site pada codeigniter. Maksud template disini bukan membuat template css utuh pada umumnya namun template disni membagi  sebuah bagian design  template  yang sudah ada menjadi  4 bagian atau lebih sesuai kebutuhan sehingga mempermudah dan efisien dalam meletakan suatu script untuk diletakan pada head, body, konten dan footer, Sebgai contoh gambaran.




Mungkin gambaran nya seperti itu kurang lebih soalnya susah untuk diungkapkan namun seperti itu gambaran simplenya, dari pada bingung lihat langsung caranya. Untuk persiapan maka anda harus membuat sebuah project dengan codeigniter selanjutnya ikuti langkah dibawah ini.

1. Buatlah sebuah folder layout pada Views.

2. Buatlah sebuah file dengan nama header.php dan simpan pada folder layout, dan masukan script header anda, seperti contoh dibawah.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Template Codeigniter</title>
    <link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/bootstrap.min.css" type="text/css">     
    <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/bootstrap.js"></script>
    <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/jquery-1.11.3.min.js"></script>
</head>
<body>
3. Selanjutnya buatlah sebuah file navbar.php (Optional) dan simpan pada folder layout, dan masukan script navbar anda, seperti contoh dibawah.
<nav class="navbar navbar-default ">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="#">Home <span class="sr-only">(current)</span></a></li>
        <li><a href="#">About</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-right">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
      </form>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
4. Buatlah sebuah file content.php dan simpan pada folder layout, script ini berfungsi untuk memanggil file conten yang anda buat.
<?php
if (!defined('BASEPATH')) exit ('No direct script access allowed');

if($content) {
    $this->load->view($content);
}
5. Buatlah sebuah file footer.php dan simpan pada folder layout.
<div class="row">        
<div class="navbar navbar-default navbar-fixed-bottom">
    <div class="col-sm-6 col-sm-offset-4">
        <p class="navbar-text">© 2017 - cahbagusnongkrong.blogspot.com
    </div>
</div>
</div>
</body>
</html> 
6. Dan yang terakhir buatlah file template.php dan simpan pada folder layout, file ini berfungsi untuk memanggil semua folder file layout beserta konten.
<?php
    require_once('header.php');
    require_once('navbar.php');
    require_once('content.php');
    require_once('footer.php');
?>
7. Tahap membuat template sudah selesai saat nya kita membuat isi konten kita, sebagai contoh ketikan script dibawah ini dan simpan dengan nama konten_saya.php pada folder Views atau yang lainnya sesuai selera anda.
<div class="container">
    <div class="row">
        <div class="jumbotron">
            <div class="text-center">
            <p><h2>Disini buat konten</h2></p><br>
            </div>
        </div>
    </div>
</div>
8. Sekarang kita buat sebuah controllers untuk memanggil views dan tempalte yang sudah dibuat.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function index()
    {
        $data = array(
            'content' =>'isi_konten'
        );       
        $this->load->view('layout/template', $data);
    }
}
9. Jika sudah  jalan kan browser kita dan hasil tetap sama seperti tampilan biasanya namun keuntungannya kita tidak membuat script yang sama pada setiap Views dan kita bisa membuat konten dengan file khusus jadi bisa lebih mudah untuk mengatur konten kita.



Semoga bermanfaat

Merubah tampilan Error 404 Page Not Found pada Codeigniter

Februari 08, 2017

Saat anda membuat sebuah project web dengan Framework Codeigniter pasti pernah mengalami error 404 Page note found, atau mengalami error pada database A Database Error Occurred, Framework codeigniter sudah mendesign tampilan tersebut secara standar sehingga jika terjadi error pada sistem maka akan menapilkan tampilan tersebut. Namun saat project anda sudah Finishing pasti akan kurang menarik jika tampilan tersebut tampil karena tidak sesuai denga tema yang anda buat jadi anda bisa merubah tampilan error tersebut sesuai kebutuhan anda. Berikut adalah caranya.


1. Bukalah folder error pada Views “project/application/views/error”


2.Buka folder html, buka file error_404.php dengan text editor. 



3.Lalu ubah kode tersebut sesuai selera anda seperti contoh script dibwah ini dengan css bootstrap.

<div class="container">
  <div class="row"  style="padding-top:10%;" >
      <div class="well center">
          <h1><font face="Tahoma" color="red"><?php echo $heading; ?></font></small></h1>
          <br />
          <p>Maaf Page yang anda cari tidak ada Silahkan kembali</p>
          <p><b>Atau kembali ke menu home dengan menekan tombol home</b></p>
          <a href="http://home_page_anda/" class="btn btn-large btn-info"><span class="glyphicon glyphicon-home"></span> Take Me Home</a>
        </div>
        <br />
  </div>
</div>
4.jika sudah lakukan tester, ketikan nama url yang salah. Maka script pesan error 404 yang sudah kita edit akan tampil. 



Yupps anda sudah berhasil Custom pesan error 404 default dengan script anda, anda juga bisa mengedit pesan error yang lain. Contoh demo bisa lihat dibawah.

Demo


Semoga bermanfaat.

Membuat Autocomplete dari database dengan Codeigniter

November 17, 2016

Hello para developer web framework codeigniter sekarang yang saya mau berbagi bagaimana membuat Autocomplete dari database dengan Codeigniter, mungkin ini akan membatu para developer untuk user dalam mencari data dan menampilkan nya secara otomatis. Disini saya menggunakan plugins jquery Autocomplete dimana metode yang dilakukan yakni dengan menggambil data dari database dan di encode ke json. Untuk lebih lanjut mari kita coba.

Bahan yang dibutuhkan
    Framework Codeigniter
    Plugins jquery Autocomplete
    Jquery
    Framework Bootstrap CSS / Optional 

1. Buatlah sebuah database dan satu buah tabel, sebagai contoh saya disini membuat data nama-nama negara.. contoh database bisa didownload disini.

CREATE TABLE IF NOT EXISTS `countries` (
  `list_name` varchar(44) CHARACTER SET utf8 DEFAULT NULL,
  `list_code` varchar(2) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
2. Buat sebuah folder assets Extract Plugins jquery autocomplete dan Bootstrap.


3. Selanjutnya buatlah sebuah controllers dengan nama Countries.php ketikan script berikut.
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Countries extends CI_Controller {

    public function __construct(){
        parent::__construct();
            $this->load->helper('url', 'form');   
            $this->load->model('m_countries');

    }

    public function index() {   
        $this->load->view('v_countries');   
    }

   

    public function get_data() {   
        $keyword = $this->uri->segment(3);
        $data = $this->db->from('countries')->like('list_name',$keyword)->get();           

        foreach($data->result() as $row)
        {
            $arr['query'] = $keyword;
            $arr['suggestions'][] = array(
                'value'    =>$row->list_name
            );
        }
        echo json_encode($arr);
    }
}

4. Tahap selanjutnya buatlah sebuah view dengan nama v_countries.php
<html>
<title>editor</title>
<head>   
    <link href="<?php echo base_url(); ?>assets/bootstrap.min.css" rel="stylesheet"/>
    <link href="<?php echo base_url(); ?>assets/jquery.autocomplete.css" rel="stylesheet"/>
</head>
<body>
<div class="container" style="margin-top:20px;">   
    <div class="row">   
    <div class="panel panel-primary">
    <div class="panel-heading">Create Jquery Autocomplete</div>
    <div class="panel-body">
        <div style="height:300px;">
        <div class="col-sm-6 col-sm-offset-3">
            <div class="form-group">   
<div class="col-md-12">
    <label> Nama Negara</label>
        <input type="text" class="form-control" id="countries" placeholder="Ketikan nama negara" autofocus/>
</div>
            </div>
        </div>
        </div>   
    </div>
</div>   
    <script src="<?php echo base_url(); ?>assets/jquery-2.1.3.min.js"></script>
    <script src="<?php echo base_url(); ?>assets/bootstrap.min.js"></script>
    <script src="<?php echo base_url(); ?>assets/jquery.autocomplete.js"></script>
    <script type="text/javascript">
    var site = "<?php echo site_url();?>";
    $(function(){
        $('#countries').autocomplete({
            serviceUrl: site+'countries/get_data',
        });
    });
    </script>   
</body>
</html>   

5. Jika sudah semua tahap selesai mari kita jalankan http://localhost/countries/



Dan hasilnya......wuissss... setiap huruf yang anda ketik akan muncul pada kolom dibawahnya.

Demo


Semoga bermanfaat.


Membuat Barcode pada Codeigniter

November 12, 2016


Hello sobat programer khususnya Develoepr Codeigniter hari ini saya akan berbagi ilmu bagaimana cara membuat barcode di coiginter, sebelum memulai tutorial ga ada salahnya kita pahami dulu apa itu barcode.  Sebuah kode batang atau kode palang yang sering dikenal barcode dalam bahasa inggris  adalah suatu kumpulan data optik yang dibaca mesin. Sebenarnya, kode batang ini mengumpulkan data dalam lebar (garis) dan spasi garis paralel dan dapat disebut sebagai kode batang atau simbologi linear atau 1D (1 dimensi). Tetapi juga memiliki bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi). Selain tak ada garis, sistem 2D sering juga disebut sebagai kode batang. jadi banyak para perusahan membuat barcode dan ditempelkan pada alat atau benda sebagai ID atau petunjuk dari benda tersebut. jika para developer memiliki project membuat barcode pas sekali disini caranya. Untuk membuat barcode pada Codeigniter kita memerlukan Libraries dari Zend framework dan itu compatible buat Codeigniter.

Bahan yang perlu disiapkan
    Libraries Zend Barcode
    Framework Codeigniter v 3.1.0

1. Buatlah sebuah database dan buat sebuah tabel dengan nama barcode.

CREATE TABLE IF NOT EXISTS `barcode` (
`id` varchar(50) NOT NULL,
`namaProduk` varchar(250) NOT NULL,
`total` varchar(100) NOT NULL,
`image` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2. Ekstak Libraries Zend barcode di folder libraries.

3. Buatlah controller dengan nama Barcode dan ketikan script dibawah ini.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Barcode extends CI_Controller {

public function __construct(){
parent::__construct();
$this->load->model('m_barcode');
$this->load->library('zend','database');
$this->load->helper('url','form');  
 }

public function index() {
$data=array('list_barcode' => $this->m_barcode->getId());
$this->load->view('v_tampil', $data);
}

public function insert() {
$this->zend->load('Zend/Barcode');
$barcode = $this->input->post('id'); //nomor id barcode
$imageResource = Zend_Barcode::factory('code128', 'image', array('text'=>$barcode), array())->draw();
$imageName = $barcode.'.jpg';
$imagePath = 'barcode/'; // penyimpanan file barcode
imagejpeg($imageResource, $imagePath.$imageName);
$pathBarcode = $imagePath.$imageName; //Menyimpan path image bardcode kedatabase

$data=array('id' => $this->input->post('id'),
'namaProduk' => $this->input->post('namaProduk'),
'total' => $this->input->post('total'),
'image' => $pathBarcode);
$this->m_barcode->insert_barcode($data);
redirect(base_url());
}

}
4. Buatlah sebuah Model dengan nama M_barcode dan ketikan script berikut.

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class M_barcode extends CI_Model {

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

}

function getId() {
$this->db->order_by('id','ASC');
$query = $this->db->get('barcode');
return $query->result();
}

function insert_barcode($data){
$this->db->insert('barcode', $data);
}
}
?>
5. Jika sudah semua buatlah folder dengan nama barcode didalam project anda.

6. Jika sudah selesai silahkan dicoba input data.
7. Jika berhasil maka image barcode akan tampil seperti gambar dibawah.


Selesai jika terjadi kesalahan silahkan check library atau helper yang belum di load, jika masih ada masalah silahkan tinggalkan komengg...
Demo


Semoga bermanfaat.