Pada kesempatan kali ini saya
ingin memposting cara Membuat Login dengan Codeigniter dan MySQL. Login
biasa digunakan untuk masuk ke situs khusus,contohnya ketika membuka
akun pribadi instagram. sebelum anda menuju ke project anda, silahkan
unduh database nya dulu, database di bawah ini merupakan database toko
online.
— phpMyAdmin SQL Dump
— version 4.5.1
— http://www.phpmyadmin.net
—
— Host: 127.0.0.1
— Generation Time: Jul 16, 2018 at 10:13 AM
— Server version: 10.1.13-MariaDB
— PHP Version: 5.6.23
SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
SET time_zone = “+00:00”;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
—
— Database:
olshop
—
— ——————————————————–
—
— Table structure for table
administrator
—
CREATE TABLE
administrator (id_admin int(11) NOT NULL,username varchar(30) NOT NULL,email varchar(20) NOT NULL,password varchar(40) NOT NULL,nama_lengkap varchar(20) NOT NULL,alamat text NOT NULL,telephone char(20) NOT NULL,tempat_lahir varchar(20) NOT NULL,waktu_lahir date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
—
— Dumping data for table
administrator
—
INSERT INTO
administrator (id_admin, username, email, password, nama_lengkap, alamat, telephone, tempat_lahir, waktu_lahir) VALUES
(2, ‘didik’, ‘didik@gmail.com’, ‘2ff462bc49e322708a48d3d5e3ca4bab’, ‘didik prabowo’, ‘wonogiri’, ‘0843535354’, ‘Solo’, ‘2017-12-20’);
— ——————————————————–
—
— Table structure for table
bangtujuan
—
CREATE TABLE
bangtujuan (id_banktujuan int(11) NOT NULL,no_rekening varchar(20) NOT NULL,atas_nama varchar(20) NOT NULL,nama_bank varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
— ——————————————————–
—
— Table structure for table
kategori
—
CREATE TABLE
kategori (id_kategori int(11) NOT NULL,nama_kategori varchar(30) NOT NULL,keterangan_kategori text NOT NULL,id_parent int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
—
— Dumping data for table
kategori
—
INSERT INTO
kategori (id_kategori, nama_kategori, keterangan_kategori, id_parent) VALUES
(1, ‘Laptop’, ”, 0),
(2, ‘Acer’, ”, 1),
(3, ‘Asuss’, ”, 5),
(4, ‘Toshiba’, ”, 1),
(5, ‘HP Andorid’, ”, 0),
(6, ‘XIOMI’, ”, 5);
— ——————————————————–
—
— Table structure for table
member
—
CREATE TABLE
member (id_member int(11) NOT NULL,username varchar(30) NOT NULL,password varchar(30) NOT NULL,email varchar(20) NOT NULL,nama_lengkap varchar(20) NOT NULL,alamat text NOT NULL,no_hp char(15) NOT NULL,jenis_kelamin enum(‘L’,’P’) NOT NULL,tempat_lahir varchar(15) NOT NULL,waktu_lahir date NOT NULL,status enum(‘active’,’non active’) DEFAULT NULL,last_login datetime DEFAULT NULL,tanda_pengenal varchar(40) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
—
— Dumping data for table
member
—
INSERT INTO
member (id_member, username, password, email, nama_lengkap, alamat, no_hp, jenis_kelamin, tempat_lahir, waktu_lahir, status, last_login, tanda_pengenal) VALUES
(1, ‘juna’, ‘juna’, ‘juna@gmail.com’, ‘juna ariwibowo’, ‘Solo’, ‘03543535’, ‘L’, ‘Solo’, ‘2017-12-26’, ‘active’, ‘2017-12-07 14:08:38’, ‘build/img_produk/1.PNG’),
(4, ‘Dewi’, ‘dewi’, ‘dewi@gmail.com’, ‘Dewi’, ‘Wonogiri’, ‘53453535’, ‘P’, ‘Wonogiri’, ‘2017-12-11’, ‘non active’, NULL, ‘build/img_member/download.jpg’);
— ——————————————————–
—
— Table structure for table
order
—
CREATE TABLE
order (id_order char(20) NOT NULL,id_produk int(11) DEFAULT NULL,jumlah_pesanan int(11) DEFAULT NULL,id_member int(11) DEFAULT NULL,tujuan_pengiriman text,metode_pengiriman varchar(10) DEFAULT NULL,harga_ongkir int(11) DEFAULT NULL,waktu_order datetime DEFAULT NULL,status enum(‘L’,’T’) DEFAULT NULL,kadaluarsa date DEFAULT NULL,id_pembayaran int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
— ——————————————————–
—
— Table structure for table
pembayaran
—
CREATE TABLE
pembayaran (id_pemabayaran int(11) NOT NULL,bank_pengirim varchar(50) DEFAULT NULL,no_rekeneng_pengirim varchar(50) DEFAULT NULL,tanggal_transfer date DEFAULT NULL,jumlah_transfer int(11) DEFAULT NULL,bukti varchar(20) DEFAULT NULL,caatatan text,id_banktujuan int(11) DEFAULT NULL,status enum(‘Y’,’T’) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
— ——————————————————–
—
— Table structure for table
produk
—
CREATE TABLE
produk (id_produk int(11) NOT NULL,nama_produk varchar(50) NOT NULL,diskripsi_produk text NOT NULL,stok_produk int(11) NOT NULL,harga_produk int(11) NOT NULL,gambar_produk varchar(40) NOT NULL,id_kategori int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
—
— Dumping data for table
produk
—
INSERT INTO
produk (id_produk, nama_produk, diskripsi_produk, stok_produk, harga_produk, gambar_produk, id_kategori) VALUES
(1, ‘Xiomi 4 x’, ‘Jos Gandos’, 2, 1800000, ‘build/img_produk/1.PNG’, 6),
(4, ‘Xiomi 3 pro S didik’, ‘RAM 3 GB
rn’, 1, 1800000, ‘build/img_produk/42.png’, 6);
—
— Indexes for dumped tables
—
—
— Indexes for table
administrator
—
ALTER TABLE
administrator
ADD PRIMARY KEY (
id_admin);
—
— Indexes for table
bangtujuan
—
ALTER TABLE
bangtujuan
ADD PRIMARY KEY (
id_banktujuan);
—
— Indexes for table
kategori
—
ALTER TABLE
kategori
ADD PRIMARY KEY (
id_kategori);
—
— Indexes for table
member
—
ALTER TABLE
member
ADD PRIMARY KEY (
id_member);
—
— Indexes for table
order
—
ALTER TABLE
order
ADD PRIMARY KEY (
id_order),
ADD KEY
id_produk (id_produk),
ADD KEY
id_member (id_member),
ADD KEY
id_pembayaran (id_pembayaran);
—
— Indexes for table
pembayaran
—
ALTER TABLE
pembayaran
ADD PRIMARY KEY (
id_pemabayaran),
ADD KEY
id_banktujuan (id_banktujuan);
—
— Indexes for table
produk
—
ALTER TABLE
produk
ADD PRIMARY KEY (
id_produk),
ADD KEY
id_kategori (id_kategori);
—
— AUTO_INCREMENT for dumped tables
—
—
— AUTO_INCREMENT for table
administrator
—
ALTER TABLE
administrator
MODIFY
id_admin int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
—
— AUTO_INCREMENT for table
bangtujuan
—
ALTER TABLE
bangtujuan
MODIFY
id_banktujuan int(11) NOT NULL AUTO_INCREMENT;
—
— AUTO_INCREMENT for table
kategori
—
ALTER TABLE
kategori
MODIFY
id_kategori int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
—
— AUTO_INCREMENT for table
member
—
ALTER TABLE
member
MODIFY
id_member int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
—
— AUTO_INCREMENT for table
pembayaran
—
ALTER TABLE
pembayaran
MODIFY
id_pemabayaran int(11) NOT NULL AUTO_INCREMENT;
—
— AUTO_INCREMENT for table
produk
—
ALTER TABLE
produk
MODIFY
id_produk int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
—
— Constraints for dumped tables
—
—
— Constraints for table
order
—
ALTER TABLE
order
ADD CONSTRAINT
order_ibfk_1 FOREIGN KEY (id_produk) REFERENCES produk (id_produk) ON UPDATE CASCADE,
ADD CONSTRAINT
order_ibfk_2 FOREIGN KEY (id_member) REFERENCES member (id_member) ON UPDATE CASCADE,
ADD CONSTRAINT
order_ibfk_3 FOREIGN KEY (id_pembayaran) REFERENCES pembayaran (id_pemabayaran) ON UPDATE CASCADE;
—
— Constraints for table
pembayaran
—
ALTER TABLE
pembayaran
ADD CONSTRAINT
pembayaran_ibfk_1 FOREIGN KEY (id_banktujuan) REFERENCES bangtujuan (id_banktujuan);
—
— Constraints for table
produk
—
ALTER TABLE
produk
ADD CONSTRAINT
produk_ibfk_1 FOREIGN KEY (id_kategori) REFERENCES kategori (id_kategori) ON DELETE NO ACTION ON UPDATE CASCADE;
/*!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 */;
Silahkan teman-teman import ke database kalian.
Sebelum
membuat login silahkan anda buka file config.php dan cari
tulisan $config[‘encryption_key’] = ‘ ‘; kemudian ubah
menjadi $config[‘encryption_key’] = ‘didikprabowo’;
Untuk konfigurasi lebih lengkap silahkan baca postingan Konfigurasi Frawework Codeigniter
Selanjutnya silahkan buka project kalian dan buat controller dengan nama Auth.php
class Auth extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model(‘auth_model’);
}
public function index()
{
$this->load->view(‘login’);
}
public function login()
{
$username = $this->input->post(‘username’);
$pass = md5($this->input->post(‘password’));
$cek = $this->auth_model->cek_login($username,$pass);
if($cek->num_rows() > 0)
{
foreach ($cek ->result() as $atr) {
$sess[‘id_admin’] = $atr->id_admin;
$sess[‘username’] = $atr->username;
$sess[‘nama_lengkap’] = $atr->nama_lengkap;
$sess[‘status’] = ‘login’;
$this->session->set_userdata($sess);
redirect(‘dashboard’);
}
}
else
{
redirect(‘auth’);
}
}
public function logout()
{
session_destroy();
redirect(‘auth’);
}
}
Langkah berikutnya silahkan buat file model dengan nama auth_model.php
class Auth_model extends CI_Model
{
function cek_login($u,$p)
{
return $this->db->get_where(‘administrator’, array(‘username’ => $u , ‘password’ => $p));
}
}
?>
Langkah selanjutnya buatlah view dengan dengan nama auth.php
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<title>AdminLTE 2 | Log in</title>
<!– Tell the browser to be responsive to screen width –>
<meta content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no” name=”viewport”>
<!– Bootstrap 3.3.7 –>
<link rel=”stylesheet” href=”<?php echo base_url()
;?>assets/bower_components/bootstrap/dist/css/bootstrap.min.css”>
<!– Font Awesome –>
<link rel=”stylesheet” href=”<?php echo base_url()
;?>assets/bower_components/font-awesome/css/font-awesome.min.css”>
<!– Ionicons –>
<link rel=”stylesheet” href=”<?php echo base_url() ;?>assets/bower_components/Ionicons/css/ionicons.min.css”>
<!– Theme style –>
<link rel=”stylesheet” href=”<?php echo base_url() ;?>assets/dist/css/AdminLTE.min.css”>
<!– iCheck –>
<link rel=”stylesheet” href=”<?php echo base_url() ;?>assets/plugins/iCheck/square/blue.css”>
<!– HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries –>
<!– WARNING: Respond.js doesn’t work if you view the page via file:// –>
<!–[if lt IE 9]>
<script src=”https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js”></script>
<script src=”https://oss.maxcdn.com/respond/1.4.2/respond.min.js”></script>
<![endif]–>
<!– Google Font –>
<link rel=”stylesheet”
href=”https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic”>
</head>
<body class=”hold-transition login-page”>
<div class=”login-box”>
<div class=”login-logo”>
<a href=”../../index2.html”><b>Login</b>Admin</a>
</div>
<!– /.login-logo –>
<div class=”login-box-body”>
<p class=”login-box-msg”>Silahkan Masuk menggunakan username dan Passowrd</p>
<form action=”<?php base_url()?>auth/login” method=”post”>
<div class=”form-group has-feedback”>
<input type=”text” class=”form-control” name=”username” placeholder=”Email”>
<span class=”glyphicon glyphicon-envelope form-control-feedback”></span>
</div>
<div class=”form-group has-feedback”>
<input type=”password” class=”form-control” placeholder=”Password” name=”password”>
<span class=”glyphicon glyphicon-lock form-control-feedback”></span>
</div>
<div class=”row”>
<div class=”col-xs-8″>
<div class=”checkbox icheck”>
<label>
<input type=”checkbox”> Remember Me
</label>
</div>
</div>
<!– /.col –>
<div class=”col-xs-4″>
<button type=”submit” class=”btn btn-primary btn-block btn-flat”>Sign In</button>
</div>
<!– /.col –>
</div>
</form>
</div>
<!– /.login-box-body –>
</div>
<!– /.login-box –>
<!– jQuery 3 –>
<script src=”<?php echo base_url() ;?>assets/bower_components/jquery/dist/jquery.min.js”></script>
<!– Bootstrap 3.3.7 –>
<script src=”<?php echo base_url() ;?>assets/bower_components/bootstrap/dist/js/bootstrap.min.js”></script>
<!– iCheck –>
<script src=”<?php echo base_url() ;?>assets/plugins/iCheck/icheck.min.js”></script>
<script>
$(function () {
$(‘input’).iCheck({
checkboxClass: ‘icheckbox_square-blue’,
radioClass: ‘iradio_square-blue’,
increaseArea: ‘20%’ // optional
});
});
</script>
</body>
</html>
Apabila sudah dilakukan pembuatan script diatas silahkan jalan situs http://localhost/olshop/auth di browser anda.
Selanjutnya isikan username dan password yang berada di dalam database yaitu username dan passwordnya adalah “didik”.
Apabila berhasil maka akan dialihkan ke halaman dashboard, tampilannya sebagai berikut.
Tampilan diatas menunjukan bahwa pembuatan login menggunakan framework codeigniter berhasil dilakukan.
sumber : https://kodingin.com/membuat-login-menggunakan-codeigniter-dan-mysql/
Subscribe by Email
Follow Updates Articles from This Blog via Email


No Comments