Membuat Login menggunakan Codeigniter dan MySQL

Halo teman-teman selamat datang di blog saya, 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.
Avatar
Didik
Saya Seorang Developer khususnya pada Bidang Website menggunakan Sistem Operasi Linux dan menyukai Pemrograman Website dan System Administrator. Selain itu saya pemilik website kodingin.com.
Leave a Reply