CodeIgniter 2.0
Devid Haryalesmana Wahid
Basic Introduction
Libraries
CodeIgniter 2.0
TUJUAN PRAKTIKUM
1. Mampu menggunakan libraries bawaan CodeIgniter 2. Mampu membuat form login beserta session-nya 3. Mampu membuat form untuk mengunggah file
Dasar Teori
Libraries
Libraries, adalah macam-macam class yang masing-masing mempunyai fungsi
Latihan
Inisialisasi Library
Untuk menggunakan library, secara umum anda harus menginisialisasi dulu di dalam controller anda menggunakan kode inisialisasi berikut ini:
Dimana, class_name adalah nama class yang akan dipanggil. Setelah anda menginisialisasi, anda dapat membaca detail instruksi penggunaan di user_guide. Anda juga dapat menginisialisasi lebih dari satu class dengan memanfaatkan array(), seperti contoh berikut ini:
Form Validation Class
Sebelum membahas pendekatan CI dalam memvalidasi data, mari kita perhatikan skenario idealnya:
1. Form ditampilkan
2. Anda mengisi form lalu mengirimkannya atau submit.
3. Jika anda mengirimkan data yang tidak valid, lupa mengisi atau melewatkan form wajib, form kembali ditampilkan bersamaan dengan data yang sudah anda isi, berikut berserta informasi kesalahan pengisian.
4. Proses 1-3 ini akan terus berlanjut sampai anda mengirimkan data yang valid Jika anda tidak menggunakan pendekatan framework CI, maka anda akan membutuhkan baris kode yang sangat banyak untuk melakukan proses validasi form. Mari kita praktekan penggunaan form validation class, sebelumnya anda akan mempersiapkan berikut ini:
1. Sebuah View yang akan menampilkan form
3. Sebuah Controller untuk menerima data dari form dan memprosesnya untuk divalidasi
Form
Buatlah sebuah file bernama myform.php dan simpan di application/views/, kemudian tuliskan baris code berikut ini:
Pada baris ke-7, validation_errors(); ini akan menampilkan pesan error jika anda mengirimkan data yang tidak valid.
Halaman Sukses
Controller
Buatlah sebuah file dengan nama form.php, lalu simpan file tersebut pada direktori application/controllers/
Penjelasan:
Pada baris ke-7, menginisialisasi form dan url helper Pada baris ke-9, menginisialisasi class form_validation Pada baris 11-14, mendefinisikan aturan validasi dimana:
o Passconf: Wajib diisi
o Emai: Wajib diisi, email yang valid
Pada baris 16-19, menjalankan proses validasi, jika data yang dikirimkan tidak sesuai aturan validasi, maka akan ditampilkan halaman myform
Pada baris 20-23, jika data yang dikirim sudah benar, maka akan ditampilkan halaman formsuccess
Silahkan coba mengaksesnya http://example.com/index.php/form
Membuat Aturan Validasi
Fungsi set_rules() diatas memiliki 3 parameter:
1. Parameter pertama, merupakan nama dari item-item form yang anda berikan. 2. Parameter kedua, merupakan “human name” atau nama dari item-item form
untuk dimengerti manusia atau nama label dari item form tersebut.
3. Parameter ketiga, berisi aturan-aturan yang satu sama lain dipisahkan tanda “|”. Untuk melihat macam-macam aturan yang disediakan akses halaman http://localhost/[....]/user_guide/libraries/form_validation.html
Membuat Aturan Validasi Baru
Kemudian panggil fungsi diatas menggunakan format aturan callback_nama_fungsi, maka untuk memanggil fungsi diatas, kita akan menambahkan rule baru callback_username_check pada input username.
Re-populasi Data
Mengubah Pesan Error
Anda dapat mengubah pesan error pada rule atau aturan validasi dengan cara menuliskan kode seperti contoh berikut:
Parameter pertama adalah rule yang akan diubah pesan error default-nya. Parameter kedua berisi pesan kustom anda. Didalam parameter kedua, anda bisa menyisipkan %s untuk menampilkan “human name” yang sudah anda tuliskan pada fungsi set_rules();
Menampilkan Pesan Error secara Individual
File Upload Class
Untuk membuat form untuk mengupload sebuah file, langkah-langkah idealnya adalah seperti berikut:
1. Form upload ditampilkan, user memilih file yang akan diunggah
2. Ketika form dikirim, file diunggah lalu diletakkan ke direktori yang anda tentukan
3. Bersamaan dengan proses mengunggah, file akan divalidasi terlebih dahulu apakah filter tersebut telah sesuai dengan aturan yang anda buat
4. Ketika file berhasil diunggah, maka akan ditampilkan pesan sukses. Untuk mendemonstrasikannya, mari langsung kita praktekkan:
Membuat Form Upload
Buatlah file dengan nama upload_form.php, simpan di application/views/ lalu tuliskan kode berikut:
Halaman Sukses
Controller
Langkah berikutnya adalah anda membuat controllernya. Buatlah sebuah controller bernama upload.php dan simpan di application/controllers/, lalu ketikkan kode berikut ini:
Penjelasan:
Perhatikan baris ke-12, pada baris tersebut merupakan konfigurasi lokasi penyimpanan file yang akan diunggah dengan nama folder uploads. Folder ini harus anda letakkan di root direktori aplikasi anda sejajar dengan folder system. Pastikan permisi foldernya nilainya 777.
Pada baris ke-19 terdapat fungsi $thisuploaddisplay_errors(), berfungsi untuk menampilkan pesan error.
Pada baris ke-22 terdapat fungsi $thisuploaddata(), merupakan fungsi untuk menampilkan informasi file yang diunggah. Informasi ditampilkan dalam bentuk array() dengan hasil seperti berikut:
Session Class
Session berguna untuk menyimpan data aktifitas user. Akan sangat bermanfaat
untuk membuat aplikasi login dan logout. Dimana ketika login sukses, anda bisa menyimpan informasi sesi user seperti nama, email, dan status login. Berikut inisialisasi class Session:
Membuat Session
Untuk membuat session dapat menggunakan fungsi set_userdata() seperti contoh kode berikut ini:
Jika anda ingin membuat 1 session_id saja, anda dapat menggunakan kode berikut ini:
Membaca Session
Untuk membaca session anda dapat menggunakan fungsi userdata() seperti contoh kode berikut ini:
Menghapus Session
Untuk menghapus session anda dapat menggunakan fungsi unset_userdata() seperti contoh kode berikut ini:
Tugas Praktikum
1. Buatlah aplikasi login beserta sessionnya, dimana ketika user sedang login akan ditampilkan halaman untuk mengupload sebuah gambar.
2. Jika gambar berhasil diunggah maka tampilkan gambar tersebut.
3. Buat fungsi callback untuk mengecek apakah password = “admin”. Jika password benar, buat session untuk menyimpan username, email, dan status login.
4. Sediakan pula link untuk logout yang akan menghapus semua data session dan mengarahkan pengguna kembali ke halaman login.