Initekno.com – Sesuai dari judul artikel ini. Yaitu membuat hak akses user login dengan codeigniter 3. Pertanyaannya sekarang kenapa dalam setiap website harus ada fitur login maupun register?..Jawabannya tentu sederhana, biar aman..!
Aman disini dalam artian tidak sembarangan orang bisa mengakses website tersebut. Jika dalam website telah disediakan user registrasi, biasanya website tersebut memberikan pengalaman kepada user untuk memasuki website mereka, dengan syarat anda harus memasukkan data email, nama dan nomor telepon anda kepada sistem.
ok. sekarang mari kita belajar dari sebuah pengalaman.
Pernahkah anda menggunakan platform ecommerce bukalapak atau tokopedia?..bagaimana cara anda melakukan order barang, melakukan manajemen barang, bagaimana cara anda melakukan transaksi pembayaran, mengelola pembayaran, melakukan pembukaan toko.
Melainkan jawabannya tentu anda harus registrasi terlebih dahulu, kemudian melakukan login. Untuk bisa melakukan manajemen transaksi dan pembelian di platform ecommerce tersebut.
dari sini tentunya anda sudah mempunyai gambaran bukan, bahwa fungsi login itu agar tidak sembarangn orang dapat mengakses sistem inti dari sebuah website. Ok…kali ini kita akan membuatnya menggunakan codeigniter.
Daftar Isi
Membuat Database dan Table
Sebelum beranjak ke dalam penulisan kode program, sebaiknya buatlah database dan tabel terlebih dahulu. Silahkan jalankan XAMPP panda komputer anda. Jika belum mengerti silahkan baca artikel
( Baca : Tutorial Belajar Codeigniter 3 Untuk Pemula )
sekarang buka browser anda dan ketikkan localhost pilih phpmyadmin jika sampai sini anda belum paham cobalah untuk bertanya di kolom komentar atau membaca artikel pada link dia atas.
Buat database dengan nama initekno_db buat tabel baru dengan nama login_user_tbl tambahkan komponen seperti dibawah ini:
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 27 28 29 30 31 32 33 34 35 |
-- -- Struktur dari tabel `login_user_tbl` -- CREATE TABLE `login_user_tbl` ( `user_id` int(11) NOT NULL, `email` varchar(150) NOT NULL, `password` varchar(255) NOT NULL, `level` enum('admin','member') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indeks untuk tabel `login_user_tbl` -- ALTER TABLE `login_user_tbl` ADD PRIMARY KEY (`user_id`); -- -- AUTO_INCREMENT untuk tabel yang dibuang -- -- -- AUTO_INCREMENT untuk tabel `login_user_tbl` -- ALTER TABLE `login_user_tbl` MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
atau anda bisa lihat kode lengkapnya seperti diatas.
Konfigurasi Pada Codeigniter Anda
Di artikel kemaren saya sempat menjelaskan tentang pengenalan dan instalasi web server lokal dan codeigniter 3. Jika anda telah membaca artikel saya yang kemaren, Berarti sekarang saatnya untuk fokus dengan materi di artikel ini. Baiklah.
Langkah pertama konfigurasi library terlebih dahulu..Masih ingat cara melakukan konfigurasi di codeigniter?..
silahkan buka autoload.php dan tambahkan library database dan session
1 |
$autoload['libraries'] = array('database','session'); |
kemudian buat sebuah encryption_key pada file config.php
1 |
$config['encryption_key'] = '23435G4334dasdadNJN342REFDSFEWTERG'; |
disini saya mengisikan enkripsi dengan bebas. Sebenarnya enkripsi yang baik itu bisa mengandung angka, huruf besar dan kecil.
Jangan lupa untuk mengaktifkan mode global xss filtering dari FALSE menjadi TRUE
1 |
$config['global_xss_filtering'] = TRUE; |
global xss filtering berfungsi untuk menangkal serangan xss yang di lakukan oleh spam dari celah GET POS dan COOKIE.
Konfigurasi Database Pada Codeigniter
Codeigniter menyediakan pilihan pemakaian database. Tapi kali ini kita akan fokuskan aja kedatabase mysql. silahkan buka database.php pada folder config codeigniter anda. Lakukan konfigurasi seperti berikut ini:
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 |
*/ $active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', //alamat server mysql 'username' => 'root', //nama username mysql kamu 'password' => 'root', //password mysql kamu 'database' => 'initekno_db', //nama database kamu 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE ); |
ada beberapa yang harus kamu cermati, yaitu hostname, username, password dan nama database. Pastikan kemu merubahnya sesuai dengan pengaturan akun mysql kamu.
Mulai Bermain dengan Controllers, Views dan Modul
sekarang anda akan melakukan desain form login dengan smantic ui. Pastikan anda menggunakan CDN untuk untuk meload file css smantis ui dan javascript jquery. Untuk itu perlu koneksi internet yang tetap menyala.
Pertama buat folder baru didalam folder modules, berinama dengan app_login. Pastikan anda membaca artikel sebelumnya tentang penggunaan konsep HMVC pada codeigniter. Buat controllers dengan nama app_login.php tuliskan kode seperti berikut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php /** * */ class App_login extends MX_Controller { function __construct() { # code... parent::__construct(); $this->load->model('m_login'); } function index() { $data['title'] = 'login | member baru'; $page = 'app_login/f_login'; echo modules::run('template/loadview', $data, $page); } } ?> |
sekrang kita beraih ke models.. buat folder baru dan beri nama models. folder tersebut harus terletak didalam folder modul app_login. buat file baru dalam folder model. Beri nama file tersebut dengan m_login.php tuliskan kode program seperti dibawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php /** * */ class M_login extends CI_Model { function m_cekuser_login() { } } ?> |
sekarang buat lagi file baru dan simpan kedalam folder views. beri nama file tersebut dengan f_login.php pastikan lagi dengan teliti bahwa kita masih bekerja berada dalam modul app_login. Simpan file tersebut didalam folder app_login/views. jika pada bagian ini anda belum juga paham, berarti anda harus membaca artikel sebelum ini.
ketikkan kode pada file f_login.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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<h2>login member terdaftar</h2> <table border="1"> <?php echo form_open('app_login/p_login');?> <tr> <td><?php echo form_label('email')?></td> <td>:</td> <td> <?php $data=array( 'name'=> 'email', 'type'=> 'email', 'placeholder'=> 'enter email kamu disini', 'required'=> 'required' ); echo form_input($data);?> </td> </tr> <tr> <td><?php echo form_label('password');?></td> <td>:</td> <td> <?php $data=array( 'name'=>'password', 'type'=>'password', 'placeholder'=>'pastikan password 6 digit', 'required'=>'required' ); echo form_input($data);?> </td> </tr> <tr> <td></td> <td></td> <td> <?php $data=array( 'name'=>'login', 'type'=>'submit', 'content'=>'login', 'value'=>'true' ); echo form_button($data);?> </td> </tr> <?php form_close();?> </table> |
karena saya di atas menggunakan helper form dari codeigniter, berarti anda harus mengaktifkan helper form pada pengaturan codeigniter tersebut. Untuk menambahkan helper caranya sama dengan menambahkan library. Lihat contoh menambahkan library pada codeigniter seperti diatas.
1 |
$autoload['helper'] = array('url','file','form'); |
Sekarang anda telah selesai menyelesaikan pembuatan model app_login. untuk bagian login. sekarang coba jalankan project anda.
Menjalankan Project
jika anda mendapatkan hasil seperti ini, berarti anda telah berhasil membuat bagian form login. ketikkan URL localhost/formulirpendaftaransekolah/index.php/app_login ketik pada browser anda. dan pastikan lagi bahwa apache dan mysql dalam paket XAMPP telah anda jalankan.
sekarang coba hilangkan tulisan bagian footer dan tulisan berisi menu, seperti gambar diatas..
Kesimpulan
Harapan saya setelah anda membaca dan mengikuti artikel ini langkah demi langkah, anda menjadi paham tentang cara pembuatan modul login dan registrasi dengan codeigniter 3. Kenapa modul ini sangat penting?. karena login dan registrasi adalah modul yang hampir di setiap website sekarang ada.
Walaupun sedikit, semoga artikel ini dapat membantu permasalahan anda terutama anda yang kerjanya sebagai seorang praktisi dibidang aplikasi website, atau jika anda seorang pengajar, artikel ini juga bisa di ajarkan kepada anak didik anda. Artikel Selanjutnya yaitu: membuat database dan tabel kemudian menampilkannya dengan datatables pada browser google chrome.
( Baca : Membuat Hak akses user login dan register dengan codeigniter 3 Bagian 2 )
Punten kang …ketika saya load yang app_login kok tidak muncul ya Views nya ??
mohon penjelasan .
Min kenapa di setiap website login untuk admin nya itu tidak ada? Terus bagaimana cara mereka masuk dan mengelola semua nya? Apakah ini berkaitan dengan hak akses? Mohon informasi nya ya min Thank youuu
Hello there! I simply would like to give you a huge thumbs up for the great
info you have got right here on this post. I am returning to your site for more soon.