You are on page 1of 39

Konfigurasi Awal CodeIgniter

Selanjutnya, untuk konfigurasi awal, ada beberapa hal yang harus di perhatikan. Konfigurasi di C:\xampp\htdocs\codeigniter\application\config\config.php ada beberapa baris yang harus diperhatikan ?

1 2 3

$config['base_url'] = 'http://localhost/codeigniter';

$config['encryption_key'] = 'isikanSesuaiKeinginan nda!ni dalah"ncryptionKey#an nda$id

Konfigurasi di C:\xampp\htdocs\codeigniter\application\config\database.php Silakan sesuaikan dengan konfigurasi database anda, di sini saya menggunakan database dengan nama codeigniter, username dan password masih default atau bawaan dari XAMPP. ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

$acti'e_group = 'default'; $acti'e_record = $()"; $db['default']['hostna*e'] $db['default']['userna*e'] $db['default']['pass+ord'] $db['default']['database'] $db['default']['dbdri'er'] $db['default']['dbprefi-'] $db['default']['pconnect'] $db['default']['db_debug'] $db['default']['cache_on'] $db['default']['cachedir'] $db['default']['char_set'] $db['default']['dbcollat'] $db['default']['s+ap_pre'] $db['default']['autoinit'] $db['default']['stricton'] = = = = = = = = = = = = = = = 'localhost'; 'root'; ''; 'codeigniter'; '*ys,l'; ''; $()"; $()"; . /S"; ''; 'utf0'; 'utf0_general_ci'; ''; $()"; . /S";

Konfigurasi di C:\xampp\htdocs\codeigniter\application\config\autoload.php onfigurasi di autoload.php ini digunakan ketika kita ingin mempersingkat coding, yakni kita tidak perlu memanggil library tertentu ketika memanggil fungsi di dalam !ode"gniter karena telah di panggil di file autoload ini.

#ntuk saat ini konfigurasi di bawah belum dibutuhkan, namun tidak masalah jika di setting sekarang, $autoload%&libraries&' ( array)*database+, berarti anda akan memanggil library database !ode"gniter, sehingga anda dapat menggunakan fungsi-fungsi database seperti $this-.db-./uery),0 dan sebagainya. ?

1 2 3 4 5

$autoload['libraries'] = array1'database'2 'session'2 'i*age_lib'2 'table'3; $autoload['helper'] = array1'url'2 'for*'2 'te-t'3; $autoload['*odel'] = array1'berita_*odel'2 'kategori_*odel'3;

"ni hanyalah konfigurasi awal !odeigniter, selanjutnya kita akan membuat fungsi-fungsi website menggunakan codeigniter.

Desain Database Codeigniter


1atabase yang digunakan di dalam tutorial ini tidak terlalu rumit karena hanya menggunakan data dummy yang selanjutnya dapat anda modifikasi sendiri. Sebagai awal, database yang dibuat adalah untuk menyimpan data user seperti nama, alamat, dan email dimana fungsi untuk melakukan insert, update, dan delete data di dalam database tersebut akan dibahasa satu per satu di tutorial selanjutnya. Pertama buatlah sebuah database baru dengan nama codeigniter, dilanjutkan dengan membuat tabel dengan nama user. 1i dalam tabel user ada 2 column, yaitu3 id4user )"56, A", primary key, nama4lengkap )7A8!9A8, :;;, username )7A8!9A8, :;;, password )7A8!9A8, :;;, email )7A8!9A8, :;;,

alamat )7A8!9A8, <;;, =erikut ini adalah tampilan struktur dari database yang baru saja dibuat.

6abel #ser

Sebenarnya, username harus bersifat unik, karena tidak mungkin ada username yang duplikat. 6etapi karena ini hanyalah latihan, maka tidak masalah, yang penting anda dapat mengerti bagaimana membuat aplikasi web menggunakan !odeigniter. Selanjutnya kita akan membuat fungsi insert database dengan menggunakan !odeigniter.

Insert Data Menggunakan Codeigniter


1i 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 >iew. Saya akan menuliskan source code berurutan dari folder controller, model, dan >iew.

!ontroller
Pertama buatlah file user4controller.php di dalam direktori application?controller dan isikan source berikut3 user_controller.php ?

1 2 3 4

45php class )ser_controller e-tends 6!_6ontroller7

function __6onstruct13

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
8

7 parent ::__construct13; 8

function user13 7 $data['9udul'] = '!nsert #ata )ser'; $this:;load:;'ie+1'user'2 $data3; 8

function si*pan_user13 7 $this:;load:;*odel1'user_*odel'3; $this:;user_*odel:;si*pan_user13; $data['notifikasi'] = '#ata berhasil disi*pan'; $data['9udul']='!nsert #ata <erhasil'; $this:;load:;'ie+1'notifikasi'2 $data3; 8

5b3 di dalam codeigniter tidap perlu menggunakan tag php penutup

Model
Selanjutnya bualah file user4model.php di dalam direktori application?model dan isikan source berikut3 Perhatikan bahwa kita akan menggunakan libraries database dari !odeigniter, maka dari itu bukalah file autoload di application/config/autoload.php dan tambahkan database di autoload libraries.

$autoload['libraries'] = array1'database'3;

user_model.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

45php class )ser_*odel e-tends 6!_&odel7

function si*pan_user13 7 $si*pan_data=array1 'na*a_lengkap' =; $this:;input:;post1'na*a_lengkap'32 'userna*e' 'pass+ord' 'e*ail' 'ala*at' 3; $si*pan = $this:;db:;insert1'user'2 $si*pan_data3; return $si*pan; 8 8 =; $this:;input:;post1'userna*e'32 =; *d=1$this:;input:;post1'pass+ord'332 =; $this:;input:;post1'e*ail'32 =; $this:;input:;post1'ala*at'3

7iews
6erakhir, buatlah file sebagai >iew dan notifikasi ketika data berhasil di simpan. 1i sini saya membuat dua buah file yaitu user.php dan notifikasi.php di dalam direktori application?>iew user.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4h>;!nsert #ata )ser4/h>; 4for* action=?si*pan_user? *ethod=?post?; 4table; 4tr; 4td;@a*a /engkap4/td; 4td;4input type=?te-t? na*e=?na*a_lengkap?/;4/td; 4/tr; 4tr; 4td;)serna*e4/td; 4td;4input type=?te-t? na*e=?userna*e?/;4/td; 4/tr; 4tr; 4td;%ass+ord4/td; 4td;4input type=?pass+ord? na*e=?pass+ord?/;4/td; 4/tr; 4/tr; 4td;"*ail4/td; 4td;4input type=?te-t? na*e=?e*ail?/;4/td; 4/tr; 4tr; 4td; la*at4/td; 4td;4te-tarea na*e=?ala*at? style=?height: 0Ap-;?;4/te-tarea;4/td; 4tr;

27 28 29 30 31 32 33 34 35
4td;4/td; 4td;4input type=?sub*it? 'alue=?Si*pan?/;4/td; 4/tr; 4/table; 4/for*; 4/body; 4/ht*l;

notifikasi.php ?

1 2 3 4 5 6 7 8

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4p;45php echo $notifikasi; 5;4/p; 4/body; 4/ht*l;

@ke, sekarang fungsi tersebut telah selesai, anda dapat mencoba menjalankannya di browser dengan #8A http3??localhost?codeigniter?indeB.php?user4controller?user Setelah anda klik Simpan, data yang anda isikan akan tersimpan di dalam database. Source code dapat di download di3 insert4data4codeigniter

Menampilkan Data dari Database Menggunakan Codeigniter


=erikut ini adalah source code yang ada di controller, model, dan >iew. Meskipun nama file di tutorial ini sama seperti tutorial sebelumnya, tetapi isi dari source code sudah berbeda. Cadi jangan asal copas ketika anda ingin menggabungkan tutorial ini dengan tutorial sebelumnya.

!ontroller
=uatlah sebuah file dengan nama user4controller.php dan isikan code sebagai berikut3 user_controller.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

45php class )ser_controller e-tends 6!_6ontroller7

function __6onstruct13 7 parent ::__construct13; 8

function user13 7 $this:;load:;*odel1'user_*odel'3; $data['9udul'] = '&ena*pilkan #ata dari #atabase &enggunakan 6odeigniter'; $data['daftar_user'] = $this:;user_*odel:;get_user_all13; $this:;load:;'ie+1'daftar_user'2 $data3; 8 8

Model
=uatlah sebuah file dengan nama user4model.php dan isikan code sebagai berikut3 ?

1 2 3 4 5 6 7 8 9

45php class )ser_*odel e-tends 6!_&odel7

function get_user_all13 7 $,uery=$this:;db:;,uery1?S"/"6$ B .(C& user C(#"( <D id_user #"S6?3; return $,uery:;result13; 8 8

7iews
=uatlah sebuah file dengan nama daftar4user.php dan isikan code sebagai berikut3 ?

1 2 3 4 5 6 7 8 9 10

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4h>;#aftar )ser4/h>; 4table border=?>?; 4thead; 4tr; 4th;@a*a /engkap4/th;

11 12 13 14 15 16 17 18
5;

4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th; 4/tr; 4/thead; 4tbody; 45php foreach1$daftar_user as $user37

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
4/tfoot; 4/table; 4/body; 4/ht*l;

4tr; 4td;45php echo $user:;na*a_lengkap; 5;4/td; 4td;45php echo $user:;userna*e; 5;4/td; 4td;45php echo $user:;e*ail; 5;4/td; 4td;45php echo $user:;ala*at; 5;4/td; 4/tr; 45php 8 5; 4/tbody; 4tfoot; 4tr; 4th;@a*a /engkap4/th; 4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th; 4/tr;

37 38

Sekarang cobalah untuk menjalankan #8A http3??localhost?codeigniter?indeB.php?user4controller?user melalui browser. Cika code yang anda masukkan benar, maka seluruh data di dalam tabel user akan muncul.

Source code3 menampilkan4data4database4codeigniter

Delete Record Menggunakan Codeigniter


=erikut ini adalah source code untuk membuat delete record menggunakan !odeigniter. Seperti biasa saya menuliskan source code berurutan dari controller, model, dan terakhir di bagian >iews.

!ontroller
Perlu diperhatikan bahwa dari source code di bawah kita menggunakan #8A helper dari !odeigniter. @leh karena itu pastikan anda menyertakan helper #8A di folder application?config?autoload.php ?

$autoload['helper'] = array1'url'3;

6ambahkan source code di user4controller.php menjadi seperti berikut3 user_controller.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
8 8 function delete_user1$id_user3 7 $this:;load:;*odel1'user_*odel'3; $userna*e = $this:;user_*odel:;delete_user1$id_user3; redirect1'user_controller/user'3; 8 function user13 7 $this:;load:;*odel1'user_*odel'3; $data['9udul'] = '#elete (ecord &enggunakan 6odeigniter'; $data['daftar_user'] = $this:;user_*odel:;get_user_all13; $this:;load:;'ie+1'daftar_user'2 $data3; 8 function __6onstruct13 7 parent ::__construct13; 45php class )ser_controller e-tends 6!_6ontroller7

23

Model
=ukalah file user4model.php dan tambahkan fungsi untuk melakukan delete record seperti pada source berikut3 user_model.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14

45php class )ser_*odel e-tends 6!_&odel7

function get_user_all13 7 $,uery=$this:;db:;,uery1?S"/"6$ B .(C& user C(#"( <D id_user #"S6?3; return $,uery:;result13; 8

function delete_user1$id_user3 7 $,uery=$this:;db:;,uery1?#"/"$" .(C& user EF"(" id_user='$id_user'?3; 8 8

7iews
=ukalah daftar4user.php dan sesuaikan dengan source code berikut ini3 daftar_user.php ?

1 4ht*l;
4head;

4title;45php echo $9udul; 5;4/title;

3 4/head; 4 4body; 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2
4tr; 4td;45php echo $user:;na*a_lengkap; 5;4/td; 4td;45php echo $user:;userna*e; 5;4/td; 4td;45php echo $user:;e*ail; 5;4/td; 4td;45php echo $user:;ala*at; 5;4/td; 4h>;#aftar )ser4/h>; 4table border=?>?; 4thead; 4tr; 4th;@a*a /engkap4/th; 4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th; 4th; ction4/th; 4/tr; 4/thead; 4tbody; 45php foreach1$daftar_user as $user37 5;

4td;45php echo '4a href=?'Gbase_url13G'inde-Gphp/user_controller/delete_user/ ;userna*eG'5H'3?;#elete4/a;'5;4/td; 4/tr; 45php 8 5;

1 2 2 2 3 2 4 2 5 2 6 2 7

4/tbody; 4tfoot; 4tr; 4th;@a*a /engkap4/th; 4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th; 4th; ction4/th; 4/tr; 4/tfoot; 4/table; 4/body;

2 8 4/ht*l; 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7

3 8 3 9 4 0 4 1 4 2

!obalah untuk menjalankan aplikasi tersebut dengan #8A http3??localhost?codeigniter?indeB.php?user4controller?user etika anda klik delete, maka akan muncul peringatan yang jika di @ maka database akan dihapus dari dalam database.

1elete 8ecord

Source code3 delete4record4codeigniter

Update Database dengan Codeigniter


Seperti biasa saya akan menulisakan urutan source cara membuat fungsi update database dengan codeigniter ini secara berurutan dari controller, model, dan >iews.

Cika anda telah membaca tutorial sebelumnya, yaitu membuat fungsi delete record database, sebenarnya konsep yang ada tidak berbeda jauh.

!ontroller
Dungsi di dalam controller ini cukup banyak, karena kita harus menampilkan data yang ada di dalam database, kemudian memberikan fungsi untuk update, dan terakhir membuat fungsi untuk menyimpan update tersebut. user_controller.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

45php class )ser_controller e-tends 6!_6ontroller7

function __6onstruct13 7 parent ::__construct13; 8

function user13 7 $this:;load:;*odel1'user_*odel'3; $data['9udul'] = '#aftar )ser'; $data['daftar_user'] = $this:;user_*odel:;get_user_all13; $this:;load:;'ie+1'daftar_user'2 $data3; 8

function edit_user1$id_user3 7 $data['9udul']=')pdate #ata )ser';

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
8 8 $data['9udul'] = ')pdate #ata 6odeigniter'; $this:;load:;*odel1'user_*odel'3; $data['edit'] = $this:;user_*odel:;si*pan_edit_user1$id_user2 $na*a_lengkap2 $data['notifikasi'] = '#ata telah berhasil disi*pan'; $this:;load:;'ie+1'notifikasi'2 $data3; function si*pan_edit_user13 7 $id_user = $this:;input:;post1'id_user'3; $na*a_lengkap = $this:;input:;post1'na*a_lengkap'3; $userna*e = $this:;input:;post1'userna*e'3; $pass+ord = $this:;input:;post1'pass+ord'3; $e*ail = $this:;input:;post1'e*ail'3; $ala*at = $this:;input:;post1'ala*at'3; 8 $this:;load:;*odel1'user_*odel'3; $data['edit']=$this:;user_*odel:;edit_user1$id_user3; $this:;load:;'ie+1'edit_user'2 $data3;

Model
Sama seperti controller, fungsi di dalam model juga cukup banyak, tetapi saya rasa tidak perlu untuk menjelaskannya satu persatu. Anda dapat memahaminya dengan membaca nama fungsinya. user_model.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

45php class )ser_*odel e-tends 6!_&odel7

function get_user_all13 7 $,uery=$this:;db:;,uery1?S"/"6$ B .(C& user C(#"( <D id_user #"S6?3; return $,uery:;result13; 8

function edit_user1$id_user3 7 $,=?S"/"6$ B .(C& user EF"(" id_user='$id_user'?;

$,uery=$this:;db:;,uery1$,3; return $,uery:;ro+13; 8

function si*pan_edit_user1$id_user2 $na*a_lengkap2 $userna*e2 $pass+ord2 $e*ail2 $ 7 $data = array1 'id_user' =; $id_user2

'na*a_lengkap' =; $na*a_lengkap2 'userna*e' 'pass+ord' 'e*ail' 'ala*at' 3; =; $userna*e2 =; $pass+ord2 =; $e*ail2 =; $ala*at

26 27 28 29 30
8 8 $this:;db:;+here1'id_user'2 $id_user3; $this:;db:;update1'user'2 $data3;

7iews
1i dalam >iews ini terdapat dua halaman >iew, yang pertama adalah untuk menampilkan halaman awal, kemudian yang kedua digunakan untuk melakukan edit data, dan terakhir adalah notifikasi bahwa data berhasil disimpan. 7iews yang pertama adalah daftar4user.php yang digunakan untuk menampilkan seluruh data yang ada di dalam database. daftar_user.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4h>;#aftar )ser4/h>; 4table border=?>?; 4thead; 4tr; 4th;@a*a /engkap4/th; 4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th;

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
4tr;

4th; ction4/th; 4/tr; 4/thead; 4tbody; 45php foreach1$daftar_user as $user37 5;

4td;45php echo $user:;na*a_lengkap; 5;4/td; 4td;45php echo $user:;userna*e; 5;4/td; 4td;45php echo $user:;e*ail; 5;4/td; 4td;45php echo $user:;ala*at; 5;4/td;

4td;45php echo '4a href=?'Gbase_url13G'inde-Gphp/user_controller/edit_user 4/tr; 45php 8 5; 4/tbody; 4tfoot; 4tr; 4th;@a*a /engkap4/th; 4th;)serna*e4/th; 4th;"*ail4/th; 4th; la*at4/th; 4th; ction4/th; 4/tr; 4/tfoot; 4/table; 4/body;

40 41 42
4/ht*l;

7iews yang kedua adalah edit4user.php yang digunakan untuk mengedit inputan record yang telah tersimpan di dalam database. edit_user.php ?

1 2 3 4 5 6 7 8 9 10 11

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4h>;)pdate #ata )ser4/h>;

45php $att = array1'id' =; 'biodata:for*'3; echo for*_open1'user_controller/si*pan_edit_user'2 $att3; echo for*_hidden1'id_user'2$edit:;id_user3; 5;

12 13 14 15 16 17 18

4table; 4tr; 4td;@a*a /engkap4/td;

4td;4input type=?te-t? na*e=?na*a_lengkap? 'alue=?45php echo $edit:;na 4/tr; 4tr; 4td;)serna*e4/td;

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
4tr; 4td;4/td; 4td;4input type=?sub*it? 'alue=?Si*pan?/;4/td; 4/tr; 4/table; 4/for*; 4/body; 4/ht*l; 4tr; 4td; la*at4/td;

4td;4input type=?te-t? na*e=?userna*e? 'alue=?45php echo $edit:;userna 4/tr; 4tr; 4td;%ass+ord4/td;

4td;4input type=?pass+ord? na*e=?pass+ord? 'alue=?45php echo $edit:;pa 4/tr; 4/tr; 4td;"*ail4/td;

4td;4input type=?te-t? na*e=?e*ail? 'alue=?45php echo $edit:;e*ail; 5; 4/tr;

4td;4te-tarea na*e=?ala*at? style=?height: 0Ap-;?;45php echo $edit:;al

7iews terakhir adalah untuk notifikasi.php untuk memberikan informasi bahwa data telah berhasil diupdate. Sebenarnya notifikasi tersebut dapat digabungkan dengan daftar4user.php, tetapi sengaja saya pisahkan agar tidak membingungkan bagi anda yang baru pertama kali belajar php maupun !odeigniter.

notifikasi.php ?

1 2 3 4 5 6 7 8

4ht*l; 4head; 4title;45php echo $9udul; 5;4/title; 4/head; 4body; 4p;45php echo $notifikasi; 5;4/p; 4/body; 4/ht*l;

Anda dapat mencoba source code yang telah selesai dibuat dengan cara mengetikkan #8A pada browser3 http3??localhost?codeigniter?indeB.php?user4controller?user

1aftar #ser

#pdate 1ata

emudian cobalah untuk melakukan edit data dan klik Simpan. Cika source anda ketikkan dengan benar, maka data di dalam database akan berhasil di update. Source code update4database4codeigniter.

Validasi Form Codeigniter


Membuat form >alidation menggunakan !odeigniter tidaklah sulit, sebab !odeigniter memiliki class bernama Dorm 7alidation yang memudahkan anda untuk menggunakan >alidasi form !odeigniter. ita hanya perlu memanggil class tersebut dan menggunakannya di source code yang kita buat. Anda tidak perlu membuat script dan semacamnya. 1i tutorial ini kita tidak menggunakan database, sehingga kita hanya akan coding di !ontroller dan 7iews.

!ontroller
=uatlah file yang bernama form4controller.php dan ketikkan source code sebagai berikut3 form_controller.php ?

1 2 3
class .or*_controller e-tends 6!_6ontroller 7 45php

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
8

function inde-13 7 $this:;load:;helper1array1'for*'2 'url'33; $this:;load:;library1'for*_'alidation'3;

$this:;for*_'alidation:;set_rules1'userna*e'2 ')serna*e'2 're,uired'3; $this:;for*_'alidation:;set_rules1'pass+ord'2 '%ass+ord'2 're,uired'3;

$this:;for*_'alidation:;set_rules1'passconf'2 '%ass+ord 6onfir*ation'2 're,ui $this:;for*_'alidation:;set_rules1'e*ail'2 '"*ail'2 're,uired'3;

if 1$this:;for*_'alidation:;run13 == . /S"3 7 $this:;load:;'ie+1'for*_input'3; 8 else 7 echo ''alidasi suksesI'; 8 8

23

Perhatikan code ketika memanggil helper dan library3 ?

$this:;load:;helper1array1'for*'2 'url'33;

2
$this:;load:;library1'for*_'alidation'3;

Anda perlu menuliskan dua baris code tersebut untuk memanggil helper form dan #8A serta library form >alidation yang digunakan untuk melakukan >alidasi. Selain menuliskannya pada controller, anda juga dapat menambahkannya di autoload.php

7iews
Dorm yang digunakan untuk menginput data kita beri nama dengan form4input.php form_input.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

4ht*l; 4head; 4title;!nput #ata4/title; 4/head; 4body;

45php echo for*_open1'for*_controller'3; 5;

4hJ;)serna*e4/hJ; 45php echo for*_error1'userna*e'3; 5;

4input type=?te-t? na*e=?userna*e? 'alue=?45php echo set_'alue1'userna*e'3; 5;? siK

4hJ;%ass+ord4/hJ; 45php echo for*_error1'pass+ord'3; 5;

4input type=?te-t? na*e=?pass+ord? 'alue=?45php echo set_'alue1'pass+ord'3; 5;? siK

17 18 19 20 21 22 23 24 25 26 27 28 29 30

4hJ;%ass+ord 6onfir*4/hJ; 45php echo for*_error1'passconf'3; 5;

4input type=?te-t? na*e=?passconf? 'alue=?45php echo set_'alue1'passconf'3; 5;? siK

4hJ;"*ail

ddress4/hJ;

45php echo for*_error1'e*ail'3; 5;

4input type=?te-t? na*e=?e*ail? 'alue=?45php echo set_'alue1'e*ail'3; 5;? siKe=?LA?

4di';4input type=?sub*it? 'alue=?Sub*it? /;4/di';

4/for*;

4/body; 4/ht*l;

!obalah untuk menjalankan #8A http3??localhost?codeigniter?indeB.php?form4controller pada browser. Cika form anda biarkan kosong, maka akan muncul peringatan bahwa form harus diisi. Sedangkan jika form sudah terisi, maka akan muncul >alidasi suksesE

7alidasi Dorm !odeigniter

Perhatikan bahwa >alidasi form tersebut hanya untuk form tidak boleh kosong, anda harus memodifikasi rule yang ada jika ingin melakukan pengecekan terhadap inputan user seperti password harus sama, email harus benar, dan sebagainya. Sebagai contoh, anda dapat memodifikasi beberapa baris code di form4controller.php menjadi seperti berikut3 ?

1 2 3 4

$this:;for*_'alidation:;set_rules1'userna*e'2 ')serna*e'2 'tri*Mre,uiredM*in_length[J]

$this:;for*_'alidation:;set_rules1'pass+ord'2 '%ass+ord'2 'tri*Mre,uiredM*in_length[J]

$this:;for*_'alidation:;set_rules1'passconf'2 '%ass+ord 6onfir*ation'2 'tri*Mre,uiredM $this:;for*_'alidation:;set_rules1'e*ail'2 '"*ail'2 'tri*Mre,uiredM'alid_e*ail'3;

Source code3 >alidasi4form4codeigniter

Membuat Halaman Login CodeIgniter


Melanjutkan tutorial sebelumnya, kali ini kita akan mulai berurusan dengan coding. Post kali ini membahas mengenai bagaimana membuat halaman form login. !atatan3 pada tutorial kali ini dan selanjutnya, minimal anda harus mengetahui konsep dasar M7! di !ode"gniter dan setidaknya anda telah membaca #ser Fuide dari !ode"gniter supaya tidak terlalu kebingungan ketika membaca dokumentasi berikut ini. 1i sarankan anda juga mengerti atau minimal mengetahui sedikit tentang P9P, 96MA dan !SS. #ntuk membuat halaman login, anda dapat melihat code berikut sebagai referensi3 untuk !SS tidak ditampilkan, tetapi anda dapat melihat tutorial saya sebelumnya di Membuat Dorm Aogin 96MA dan !SS C:\xampp\htdocs\simatik\application\controllers\login.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14

45php class /ogin e-tends 6!_6ontroller7

public function inde-13 7 $data['9udul'] = 'Eeb %ortal O S!& $!K'; $this:;load:;'ie+1'login'2 $data3; 8

function 'alidate_login137

$this:;load:;*odel1'user_*odel'3; $,uery = $this:;user_*odel:;'alidate13;

if1$,uery37

15 16 17 18 19 20 21 22 23 24 25
$this:;inde-13; $this:;session:;set_userdata1$data3; redirect1'site/ho*e'3; 8else7 3; $data = array1 'userna*e' =; $this:;input:;post1'userna*e'32 'is_logged_in' =; $()"

26 27
8 8

28 29

=agian >iew untuk tampilan form login adalah sebagai berikut C:\xampp\htdocs\simatik\application\views\login.php ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

4I#C6$D%" ht*l %)</!6 ?://EL6//#$# PF$&/ >GA Strict//"@? ?http://+++G+LGorg/$(/-ht*l>/#$#/-ht*l>:strictGdtd?; 4ht*l -*lns=?http://+++G+LGorg/>QQQ/-ht*l? -*l:lang=?en? lang=?en?; 4head; 4*eta http:e,ui'=?6ontent:$ype? content=?te-t/ht*l; charset=utf:0?/; 4title;45php echo $9udul;5;4/title;

4link href=?45php echo base_url13;5;css/loginGcss? rel=?stylesheet? type=?te-t 4link href=?45php echo base_url13;5;fa'iconGico? rel=?icon?/; 4/head; 4body; 4di' id=?+rapper?; 4di' id=?spacer?; 4/di'; 4di' id=?konten?; 4di' id=?left:side?; 45php $this:;load:;'ie+1'includes/left:side:login'3;5; 4/di';

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

4di' id=?right:side?; 4h>;S"KC/ F &"@"@R F 4br/;4br/;4br/; 4hN;/ogin4/hN; 4p;45php if1isset1$notifikasi33 echo $notifikasi;5;4/p; 45php $attributes = array1'id' =; 'login:for*'3; echo for*_open1'login/'alidate_login'2 $attributes3; 5; $ S S$ $!S$!K4/h>;

4table id=?log:tabel?; 4tr; 4td;)serna*e4/td;

4td;4input type=?te-t? na*e=?userna*e? class=?log: 4/tr; 4tr; 4td;%ass+ord4/td;

4td;4input type=?pass+ord? na*e=?pass+ord? class=? 4/tr; 4tr; 4td;4/td;

4td;4input type=?sub*it? 'alue=?? class=?login:but 4/tr; 4/table; 45php echo for*_close13; 5;

45 46 47 48 49 50 51 52 53 54 55 56 57 58
4/di'; 4di' id=?footer?; 4di' id=?footer:p?; 45php $this:;load:;'ie+1'includes/footer:login'3;5; 4/di'; 4/di'; 4/di'; 4/di'; 4/body; 4/ht*l;

4p;Sika anda belu* *e*punyai userna*e dan pass+ord silahkan a

Selanjutnya untuk bagian modelC:\xampp\htdocs\simatik\application\models\user_model.php ?

1 2 3 4 5 6 7 8 9

45php class )ser_*odel e-tends 6!_&odel7

function 'alidate13 7 $this:;db:;+here1'userna*e'2 $this:;input:;post1'userna*e'33; $this:;db:;+here1'pass+ord'2 *d=1$this:;input:;post1'pass+ord'333; $,uery = $this:;db:;get1'user'3;

if1$,uery:;nu*_ro+s == >3

10 11 12
8 7 return $()";

13 14 15
8

1ari model tersebut akan diarahkan ke controller lain yaitu site.php dengan fungsi home C:\xampp\htdocs\simatik\application\controllers\site.php ?

1 2 3 4 5 6 7 8 9

45php class Site e-tends 6!_6ontroller7 function ho*e13 7 $data['9udul'] = 'S!& $!K O Fo*e'; $data['*ain_content'] = '*ain_content/ho*e'; $this:;load:;'ie+1'te*plate'2 $data3; 8 8

1an terakhir adalah bagian >iewC:\xampp\htdocs\simatik\application\view\main_content\home.php 9alaman home.php dapat anda buat halaman dummy terlebih dahulu.

Membuat Insert Post Web Menggunakan CodeIgniter


Melanjutkan tutorial sebelumnya mengenai !ode"gniter. Pada post kali ini adalah dokumentasi mengenai cara membuat insert post menggunakan !ode"gniter. Skenario dari fungsi insert ini adalah, ada sebuah form yang akan diisi dengan artikel tertentu dan ketika di klik tombol submit, maka form tersebut akan menyimpan ke dalam database. Cika artikel berhasil di simpan, maka muncul peringatan bahwa post berhasil di simpan, begitu juga sebaliknya. 6utorial ini adalah bagian dari dokumentasi Membuat Gebsite Menggunakan !ode"gniter.

Fungsi Insert
#ntuk mempermudah dalam berpikir, pertama kita buat terlebih dahulu bagian >iew nya3 tambah4berita.php ?

1 2 3 4 5 6 7 8 9 10 11

4h>;$a*bah <erita4/h>;

4for* id=?biodata:for*? action=?si*pan_berita? *ethod=?post? enctype=?*ultipart/for*:da 4table id=?tabel:biodata?; 4tr; 4td;Sudul4/td;

4td;4input type=?te-t? na*e=?9udul_berita? class=?biodata? 'alue=?? *a-leng 4/tr; 4tr; 4td;4/td; 4td;4input type=?hidden? na*e=?uploader? class=?biodata? 'alue=?45php echo 4/tr;

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
4/tr; 4tr; 4td;Status4/td; 4td; 4select na*e=?status? class=?biodata?; 45php if 1$status==>375; 4option 'alue=?>? selected=?selected?; ktif4/option; 4option 'alue=?A? ;@onaktif4/option; 45php 8else75; 4option 'alue=?>? ; ktif4/option; 4option 'alue=?A? selected=?selected?;@onaktif4/option; 45php 85; 4/select; 4/td; 4/tr; 4tr; 4td;4/td; 4td style=?te-t:align: right;?;!si rtikel4/td; 4tr; 4td;Kategori4/td; 4td; 45php $attributes = 'class = ?biodata?'; $pilih = '';

echo for*_dropdo+n1?id_kategori?2 $opt_kategori2 $pilih2 $attributes3; 5; 4/td;

38 39 40 41 42 43 44 45 46 47 48 49
4/tr; 4tr;

4td colspan=?N?;4te-tarea na*e=?isi_berita? class=?biodata? 'alue=?? style= 4/tr; 4tr; 4td;4/td;

4td style=?te-t:align: right;?;4br /;4input type=?sub*it? 'alue=?Si*pan? c 4/tr; 4/table; 4/for*;

Selanjutnya dari form submit akan menuju ke bagian controller, yaitu3 berita4admin dengan fungsi simpan4berita ?

1 2 3 4 5 6 7 8 9 10 11

45php class <erita_ad*in e-tends 6!_6ontroller7

function __6onstruct13 7 parent ::__construct13; $this:;is_logged_in13; 8

function berita13 7

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
8 8 8

$total = $this:;berita_*odel:;hitung_berita13;

$data['9udul'] = 'S!& $!K Ursa,uo; %engaturan <erita'; $data['*ain_content'] = 'ad*in/berita'; $data['berita'] = $this:;berita_*odel:;get_berita13; $this:;load:;'ie+1'ad*in_te*plate'2 $data3;

function si*pan_berita13 7 $9udul_berita = $this:;input:;post1'9udul_berita'3; $id_kategori = $this:;input:;post1'id_kategori'3; $isi_berita = $this:;input:;post1'isi_berita'3; $uploader = $this:;input:;post1'uploader'3; $status = $this:;input:;post1'status'3;

$this:;berita_*odel:;si*pan_berita1$9udul_berita2 $id_kategori2 $isi_berita2 $upl redirect1'berita_ad*in/berita'3;

1i dalam fungsi simpan4berita, model simpan4berita yang ada di berita4model.php akan diakses, jika berhasil, maka controller akan melakukan redirect ke halaman akhir dan memberikan notifikasi bahwa berita berhasil disimpan. ?

1 2

45php

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

class <erita_*odel e-tends 6!_&odel7 function get_berita13 7

$array_keys_'alues = $this:;db:;,uery1?S"/"6$ kGna*a_kategori2 bGB .(C& katego return $array_keys_'alues; 8

function si*pan_berita1$9udul_berita2 $id_kategori2 $isi_berita2 $uploader2 $statu 7 $data = array1 '9udul_berita' =; $9udul_berita2 'id_kategori' =; $id_kategori2 'isi_berita' =; $isi_berita2 'uploader' 'status' 3; =; $uploader2 =; $status

$this:;db:;insert1'berita'2 $data3; 8 8