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.

56 Comments


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

    1. coba cek lagi di fungsi yg baru saja anda buat, ada salah tanda petik [ ” ]

      Reply

    1. 404 Page Not Found
      The page you requested was not found.
      gan dah disamain kenapa hasilnya gtu yh..

      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

    1. sama2 🙂
      kuncinya ada di error:
      “Unable to select the specified database : codeigniter”
      coba cek lagi, barangkali database anda bukanlah “codeigniter”

      Reply

      1. Very2 thank u gan kasusku juga sama gk tahunya masalah database gk pake nama “codeigniter” sekarang udah mau jalan, thanks tutnya.

        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. gan klo notifikasi’a pake

    alert=’……….’ gimana gan?

    jadi g usah buat view notifikasi

    Reply

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

    1. iya gan, itu hanya contoh sederhana kok (tidak mengarah ke security dsb)
      silakan dikembangkan lagi saja

      Reply

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

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

    1. perhatikan: demo_ci.user doesn’t exist
      artinya, tabel user di database demo tidak ada
      cek lagi apakah database nya benar? klo benar, apakah tabelnya ada?

      Reply

  9. gan, data saya sudah berhasil tersimpan, tapi kok data di dalam database itu malah 0 semua?? mohon pencerahannya gan???

    Reply

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

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

    1. Unknown column ‘password’ in ‘field list’

      pastikan ada kolom dengan nama password di databasenya
      mungkin salah nama kolom

      Reply

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

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

    1. ini sudah diaktifkan?
      $autoload[‘libraries’] = array(‘database’);

      Reply

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

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

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

  17. aku gini erornya gan, kira2 apa ya masalahnya…???

    Unable to load the requested file: notifikasi.php

    Reply

  18. gan koq ada bacaan Disallowed Key Characters… setelah ane isi formnya ?
    kenapa ya?

    Reply

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

  20. gan di line itu tidak ada skript apa-apa gan gimana

    Reply

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

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

  23. di notofikiasi ingin ditambahkan link untuk kembali ke input user kodenya gimana y

    Reply

  24. fungsi nya notifikasi.php buat apa?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *