Insert Data Menggunakan Codeigniter

Posted in CodeIgniter, Sunday, February 3rd, 2013, by Muhammad Fahmi Al Azhar

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.

Leave a Reply

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

  1. valdi says:

    http://localhost/codeigniter/index.php/user_controller/user .
    pas disitu ga jalan gan, error. padahal udah sama semua dan udah konfig si CI sendiri. ada bacaan An Error Was Encountered

    Unable to locate the model you have specified: berita_model . itu kenapa ya gan?

    • 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’]

  2. Rizky Ramadhan says:

    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

  3. anto says:

    klo notifikasi.php itu disimpan folder mana yah

  4. Saepuloh says:

    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

  5. Mochamad Ramdhanie M says:

    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.

    • azuharu says:

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

  6. indra says:

    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

  7. adhie says:

    gan klo notifikasi’a pake

    alert=’……….’ gimana gan?

    jadi g usah buat view notifikasi

  8. N says:

    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.

  9. desraino says:

    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

  10. Andy says:

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

    • azuharu says:

      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?

  11. agung says:

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

  12. Achmad says:

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

  13. bruri says:

    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

  14. Achmad says:

    Makasih gan udah sharing ilmu, ready belajar CI nih.haha

  15. yulia says:

    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

  16. suni says:

    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 ?

  17. mega says:

    error nya gini :

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined variable: notifikasi

    Filename: views/notifikasi.php

    Line Number: 6

    masalahnya apa ya?

  18. variabel notifikasi tidak terdefinisikan, coba cek lagi di variabel “notifikasi” tersebut

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

  20. iw says:

    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?

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

    Unable to load the requested file: notifikasi.php

  22. adek says:

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

  23. adek says:

    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

  24. joko says:

    gan di hal ini http://localhost/codeigniter/index.php/user_controller/user ketemunya
    404 Page Not Found

    The page you requested was not found.
    mohon pencerahannya gan

  25. joko says:

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

  26. Dede Irvan S says:

    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?

  27. pram says:

    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?

  28. kang udin says:

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

  29. irfan says:

    fungsi nya notifikasi.php buat apa?

  30. ikhsan says:

    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

  31. fahrun_nis says:

    bang, ada modul format pdfnya ga? jadi suatu hari bisa dipelajari lagi tanpa buka internet hehe boleh dong di kirim fahrun33@gmail.com
    thankyouuuu