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.
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’]
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
coba cek lagi di fungsi yg baru saja anda buat, ada salah tanda petik [ ” ]
klo notifikasi.php itu disimpan folder mana yah
404 Page Not Found
The page you requested was not found.
gan dah disamain kenapa hasilnya gtu yh..
di view coba
gan kalau http://localhost/codeigniter/index.php/user_controller/user
dibuka hasilnya
404 Page Not Found
The page you requested was not found.
apanya gan yang kurang padahal sudah sama sama tutorianya
view yang akan dibuka blm ada/blm dibuat mungkin gan
gan trus bila ini dijalankan
http://localhost/codeigniter/index.php/user_controller/user
hasilnya kanyak gini tu gan gimana?
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in C:\xampp\htdocs\CodeIgniter\application\controllers\user_controller.php on line 3
lihat di sekitar line 3, ada tanda kutip atau titik koma yang muncul…
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
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.
sama2 🙂
kuncinya ada di error:
“Unable to select the specified database : codeigniter”
coba cek lagi, barangkali database anda bukanlah “codeigniter”
Very2 thank u gan kasusku juga sama gk tahunya masalah database gk pake nama “codeigniter” sekarang udah mau jalan, thanks tutnya.
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
gan klo notifikasi’a pake
alert=’……….’ gimana gan?
jadi g usah buat view notifikasi
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.
iya gan, itu hanya contoh sederhana kok (tidak mengarah ke security dsb)
silakan dikembangkan lagi saja
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
Primary key nya duplikat gan!
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..
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?
gan, data saya sudah berhasil tersimpan, tapi kok data di dalam database itu malah 0 semua?? mohon pencerahannya gan???
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.. 🙂
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
Unknown column ‘password’ in ‘field list’
pastikan ada kolom dengan nama password di databasenya
mungkin salah nama kolom
Makasih gan udah sharing ilmu, ready belajar CI nih.haha
sip, semoga cepat mahir
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
di database.php
lebih lanjut lihat di sini:
Konfigurasi Codeigniter
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 ?
ini sudah diaktifkan?
$autoload[‘libraries’] = array(‘database’);
error nya gini :
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: notifikasi
Filename: views/notifikasi.php
Line Number: 6
masalahnya apa ya?
variabel notifikasi tidak terdefinisikan, coba cek lagi di variabel “notifikasi” tersebut
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,
informasinya kurang lengkap gan
coba tambah $this->load->database();
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?
di konfigurasinya sudah diubah kalau database yang dipake database2?
aku gini erornya gan, kira2 apa ya masalahnya…???
Unable to load the requested file: notifikasi.php
file notifikasi.php nya blm dibikin mungkin gan?
gan koq ada bacaan Disallowed Key Characters… setelah ane isi formnya ?
kenapa ya?
informasi yang agan berikan kurang lengkap gan 😀
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
informasi error yang agan berikan kurang lengkap gan 😀
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
view yang mau dibuka mungkin belum agan buat, coba dibaca ulang code yang agan ketik
gan di line itu tidak ada skript apa-apa gan gimana
line sebelumnnya berarti, pake kode editor apa? kn bisa keliatan dimana letak error nya
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?
konfigurasi databasenya kemungkinan besar salah
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?
file user_model nya belum dibuat mungkin?
di notofikiasi ingin ditambahkan link untuk kembali ke input user kodenya gimana y
tinggal pake link biasa gan 🙂
fungsi nya notifikasi.php buat apa?
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
bang, ada modul format pdfnya ga? jadi suatu hari bisa dipelajari lagi tanpa buka internet hehe boleh dong di kirim fahrun33@gmail.com
thankyouuuu
wah ga ada, bisa di print pdf saja hehe