Insert Data Menggunakan Codeigniter

Tutorial ini membahas mengenai cara membuat fungsi insert data menggunakan Codeigniter. Data yang diinsert menggunakan desain database yang telah dibahas pada tutorial sebelumnya.

Sebelum melangkah lebih jauh untuk membuat fungsi insert ini, anda perlu mengetahui bahwa di dalam Codeigniter terdapat tiga buah direktori utama untuk melakukan coding. Direktori tersebut adalah controller, model, dan view dimana ketiganya terletak di dalam folder application di dalam file web Codeigniter anda.

Insert Data Menggunakan Codeigniter

Di dalam tutorial ini tidak dibahas mengenai alur berpikir darimana anda membuat fungsi tersebut, melainkan  langsung dibahas best  practices nya saja.

Setiap programmer memiliki style nya sendiri dalam melakukan coding, jadi terserah anda ingin memulainya dari folder controller, model, atau view. Saya akan menuliskan source code berurutan dari folder controller, model, dan view.

Controller

Pertama buatlah file user_controller.php di dalam direktori application/controller dan isikan source berikut:

user_controller.php

<?php
class User_controller extends CI_Controller{

    function __Construct()
    {
        parent ::__construct();
    }

    function user()
    {
        $data['judul'] = 'Insert Data User';
        $this->load->view('user', $data);
    }

    function simpan_user()
    {   
        $this->load->model('user_model');
        $this->user_model->simpan_user();
        $data['notifikasi'] = 'Data berhasil disimpan';
        $data['judul']='Insert Data Berhasil';
        $this->load->view('notifikasi', $data);
    }
}

Nb: di dalam codeigniter tidap perlu menggunakan tag php penutup

Model

Selanjutnya bualah file user_model.php di dalam direktori application/model dan isikan source berikut:

Perhatikan bahwa kita akan menggunakan libraries database dari Codeigniter, maka dari itu bukalah file autoload di application/config/autoload.php dan tambahkan database di autoload libraries.

$autoload['libraries'] = array('database');

user_model.php

<?php
class User_model extends CI_Model{

    function simpan_user()
    {
        $simpan_data=array(
            'nama_lengkap'  => $this->input->post('nama_lengkap'),
            'username'      => $this->input->post('username'),
            'password'      => md5($this->input->post('password')),
            'email'         => $this->input->post('email'),
            'alamat'        => $this->input->post('alamat')
	   );
        $simpan = $this->db->insert('user', $simpan_data);
        return $simpan;
    }
}

Views

Terakhir, buatlah file sebagai view dan notifikasi ketika data berhasil di simpan. Di sini saya membuat dua buah file yaitu user.php dan notifikasi.php di dalam direktori application/view

user.php

<html>
    <head>
        <title><?php echo $judul; ?></title>
    </head>
    <body>                        
    <h1>Insert Data User</h1>
    <form action="simpan_user" method="post">
        <table> 
            <tr>
                <td>Nama Lengkap</td>
                <td><input type="text" name="nama_lengkap"/></td>
            </tr>
            <tr>
                <td>Username</td>
                <td><input type="text" name="username"/></td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type="password" name="password"/></td>
            </tr>
            </tr>
                <td>Email</td>
                <td><input type="text" name="email"/></td>
            </tr>
            <tr>
                <td>Alamat</td>
                <td><textarea name="alamat" style="height: 80px;"></textarea></td>
            <tr>
                <td></td>
                <td><input type="submit" value="Simpan"/></td>
            </tr>
        </table>
    </form>
    </body>
</html>

notifikasi.php

<html>
<head>
	<title><?php echo $judul; ?></title>
</head>
<body>
	<p><?php echo $notifikasi; ?></p>
</body>
</html>

Oke, sekarang fungsi tersebut telah selesai, anda dapat mencoba menjalankannya di browser dengan URL http://localhost/codeigniter/index.php/user_controller/user

Setelah anda klik Simpan, data yang anda isikan akan tersimpan di dalam database.

Source code dapat di download di: insert_data_codeigniter

Selanjutnya adalah tutorial untuk menampilkan data dari database.

Semoga bermanfaat.

59 thoughts on “Insert Data Menggunakan Codeigniter”

    • cek di autoload.php, krg lebih pasti seperti ini:
      $autoload[‘model’] = array(‘berita_model’);

      ga ada file berita_model di model, tapi di setting autoload.php dia ditulis.

      hapus aja berita_model dari autoload[‘model’]

      Reply
  1. kalau disini masalah nya kenapa ya gan?
    Parse error: syntax error, unexpected ‘helper’ (T_STRING), expecting ‘)’ in C:\xampp\htdocs\CodeIgniter\application\config\autoload.php on line 64

    mohon pencerahan nya thank’s

    Reply
  2. mau tanya gan, saya ngikutin tutor Insert Data Menggunakan Codeigniter, tpi hasil nya “An Error Was Encountered

    Unable to load the requested class: latihan
    “. knapa ia?..

    mohon bantuan nya..
    trimakasih

    Reply
  3. Terimakasih atas tutorial-tutorial yang Anda berikan. Saya sangat terbantu sekali dengan tutorialnya. Dan pada tutorial bagian ini saya mendapat kendala. Menurut saya sudah mengikuti step by step dari tutor diatas. Tapi ketika saya coba buka link nya, terjadi error.

    A Database Error Occurred
    Unable to select the specified database : codeigniter
    Filename : C:\xampp\htdocs\codeigniter\system\database\DB_driver.php
    Line Number: 140

    Seperti diatas errornya. Tolong petunjuknya.
    Terimakasih.

    Reply
  4. Makasih mas udah mau berbagi ilmu. Saya udah berhasil menampilkan form insert data, namun ketika saya submit/simpan ada notifikasi 404 page not found. Mohon pencerahannya. Trims

    Reply
  5. Ini masih ada kelemahan di controllernya ya gan? Orang bisa langsung ke halaman “http://localhost/codeigniter/index.php/user_controller/user/simpan_user” otomatis terdaftar di database walaupun null atau kosongan. hehe.

    Reply
  6. A Database Error Occurred

    Error Number: 1062

    Duplicate entry ‘0’ for key ‘PRIMARY’

    INSERT INTO `user` (`nama_lengkap`, `username`, `password`, `email`, `alamat`) VALUES (‘a’, ”, ‘d41d8cd98f00b204e9800998ecf8427e’, ”, ”)

    Filename: C:\xampplite\htdocs\codeigniter\system\database\DB_driver.php

    Line Number: 330

    kalo kaya gitu gimana bos? bingung nih ane, padahal sebelumnya ga kenapa napa

    Reply
  7. Error Number: 1146

    Table ‘demo_ci.user’ doesn’t exist

    INSERT INTO `user` (`nama_lengkap`, `username`, `password`, `email`, `alamat`) VALUES (‘Andy wibowo’, ‘Andy’, ‘d41d8cd98f00b204e9800998ecf8427e’, ‘darknessandy23@gmail.com’, ‘BOGOR’)

    Filename: D:\Software\xampp\htdocs\codeigniter\system\database\DB_driver.php

    Line Number: 330

    kalo error begini kenapa ya gan?? mohon pencerahanya thanks..

    Reply
  8. Makasih gan berhasil. hehe..

    Oya sedikit sharing nih gan, mgkn kbanyakan yang gagal belum di setting database.php, autoload.php, sama config.php di folder config.
    Sipp.. 🙂

    Reply
  9. Error Number: 1054

    Unknown column ‘password’ in ‘field list’

    INSERT INTO `user` (`nama_lengkap`, `username`, `password`, `email`, `alamat`) VALUES (‘sdfg’, ‘sdfgh’, ‘d7d5f8d4fc097028917baa48b56d5328’, ‘sdfzs@jkjkj.com’, ‘sadfdgfhj’)

    ini masalahnya apa ya gan?

    Filename: C:\xampp\htdocs\codeigniter\system\database\DB_driver.php

    Line Number: 330

    Reply
  10. A Database Error Occurred
    Error Number: 1046

    No database selected

    Filename: E:\KULIAH\xampp\htdocs\ci\system\database\DB_driver.php

    Kenapa ya? set databasenya dimana gan? thanks

    Reply
  11. A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: User_controller::$codeigniter

    Filename: core/Model.php

    Line Number: 51

    Fatal error: Call to a member function insert() on a non-object in C:\xampp\htdocs\CodeIgniter\application\models\user_model.php on line 13,

    knp y gan, pdahal nama database n tabelnya uda sama ?

    Reply
  12. error nya gini :

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined variable: notifikasi

    Filename: views/notifikasi.php

    Line Number: 6

    masalahnya apa ya?

    Reply
  13. gan punya ane errornya kaya gini
    A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: User_controller::$db

    Filename: core/Model.php

    Line Number: 51

    Fatal error: Call to a member function insert() on a non-object in D:\xampp\htdocs\codeigniter\application\models\user_model.php on line 11

    mohon bantuannya?
    autoload databsenya udah saya aktifkan,

    Reply
  14. Unable to select the specified database: database2

    Filename: C:\xampp\htdocs\codeigniter\system\database\DB_driver.php

    Line Number: 140

    padahal udah ta buat database2 itu gan, kenapa ya?

    Reply
  15. kalo yang ini error ga gan…
    Sebuah Kesalahan PHP ditemui

    Severity: Notice

    Pesan: Undefined index: config

    Filename: core / Loader.php

    Jumlah baris: 1140 ??

    tp data berhasil disimpan

    Reply
  16. A Database Error Occurred

    Unable to connect to your database server using the provided settings.

    Filename: F:\PROGRAM APLIKASI\xampp\htdocs\codeigniter\system\database\DB_driver.php

    Line Number: 124

    gimana ya?

    Reply
  17. gan,masih muncul tulisan ini setelah menghapus kategori_model

    An Error Was Encountered

    Unable to locate the model you have specified: user_model
    itu gmn yah gan?

    Reply
  18. gan ane masalah disini gan kenapa ya ?
    Parse error: syntax error, unexpected ‘$config’ (T_VARIABLE) in C:\xampp\htdocs\CodeIgniter\application\config\config.php on line 51

    Reply

Leave a Reply to valdi Cancel reply