pertama buat database, berikut querynya
create database latihan;
use latihan;
lalu buat table users yang akan digunakan untuk log in. berikut query dari table users
CREATE TABLE IF NOT EXISTS `users` (
`email` varchar(80) NOT NULL,
`password` varchar(40) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `users` (`email`, `password`) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3');
sekarang waktunya konfigurasi database,config dan autoload.
buka file database.php pada folder application/config/database.php
- $db['default']['hostname'] = 'localhost';
- $db['default']['username'] = 'root';
- $db['default']['password'] = '';
- $db['default']['database'] = 'latihan';
- $db['default']['dbdriver'] = 'mysql';
lalu buka file config.php pada folder application/config/config.php, cari baris kode berikut
$config['encryption_key'] = '';
isikan kata apapun pada kutip tersebut, contoh
$config['encryption_key'] = 'deden';
lalu buka file autoload.php pada folder application/config/autoload.php, cari baris kode berikut
$autoload['libraries'] = array('');
ubah menjadi
$autoload['libraries'] = array('session','database');
setelah itu siapkan modelnya, berikut modelnya
user_model.php
- <?php
- class User_Model extends CI_Model
- {
- function __construct(){
- parent::__construct();
- }
- function masuk($email,$password){
- $query=$this->db->query("select * from users where email='$email' and password='$password'");
- return ($query->num_rows()>0) ? $query->row() : FALSE;
- }
- }
simpan file tersebut pada folder application/models, lalu buat controllernya.
login.php
- <?php if (! defined('BASEPATH')) exit('No direct script access allowed');
- class Login extends CI_Controller {
- function index(){
- $this->load->view('login');
- }
- function masuk(){
- $this->load->model('user_model');
- $password = md5($this->input->post('password'));
- $email = $this->input->post('email');
- $query = $this->user_model->masuk($email,$password);
- if($query==TRUE){
- $level = $this->user_model->detail($email);
- $data = array('username' => $email);
- $this->session->set_userdata($data);
- redirect('admin');
- }else{
- $this->index();
- }
- }
- function logout(){
- $this->session->sess_destroy();
- $this->index();
- }
- }
function masuk digunakan untuk mengatur log in, atau verifikasi user dan password sedangkan fungsi logout digunakan untuk membuat fungsi keluar/ menghapus session.
simpan file tersebut pada folder application/controllers. lalu buat file untuk form log in. berikut kodenya
login.php
- <h3><span></span> Login Admin<h3>
- <?php echo form_open('login/masuk'); ?>
- <div style="font-size: 15px;">
- <div>
- <div>
- <label >Email</label>
- <input name="email" type="text" placeholder="Masukan Email"/>
- </div>
- <di>
- <label >Password</label>
- <input name="password" type="password" placeholder="Masukan Password"/>
- </div>
- </div>
- <div><button type="submit" >Login</button></div>
- </div>
- <?php echo form_close();?>
simpan file tersebut pada folder application/views, lalu buat satu halaman untuk halaman adminnya.
admin.php
- Selamat Datang di halaman admin
- <a href="<?php echo base_url()?>login/logout">Log Out</a>
simpan file tersebut pada folder application/views.
Halaman Login
Ketika log in berhasil
setelah logout halaman kembali ke halaman admin
yap sekian ulasan mengenai log in di codeigniter, semoga bermanfaat , jika ada masalah silahkan di komen saja .....
No comments:
Post a Comment