Hallo bosan semuanya,blogger amatiran ini akan membuat tutorial bagaimana cara membuat simple login dengan menggunakan framework codeigniter , langsung saja
Bahan - bahan yang di perlukan :
- xampp (sesuai selera boleh wamp,dll)
- text editor (saya pake sublime text)
- browser (the best performance menggunakan chrome/bebas)
- framework codeiniternya
Langsung saja ke tutorialnya :
- Pertama download bahan-bahan diatas
- Install bahan-bahan
- Nyalakan xampp
- Membuat folder (latihan-ci)
- Ekstrak file codeigiter nya ke htdocs (C:\xampp\htdocs atau sesuaikan dengan lokasi instalan xampp)
- Buka text editor , dan buka folder (C:\xampp\htdocs\latihan-ci atau sesuaikan)
- Persiapan selanjutnya membuat database dengan nama " hanyabosan " dan buat table dengan nama " tbl_pengguna " yang berisi 4 column (id,pengguna,kata_sandi,hak_akses) lebih cepatnya para bosan boleh import sql berikut ini :
-- phpMyAdmin SQL Dump
-- version 4.8.3
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Mar 31, 2019 at 12:39 PM
-- Server version: 10.1.36-MariaDB
-- PHP Version: 5.6.38
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
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: `hanyabosan`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbl_pengguna`
--
CREATE TABLE `tbl_pengguna` (
`id` int(11) NOT NULL,
`pengguna` varchar(30) NOT NULL,
`kata_sandi` varchar(64) NOT NULL,
`hak_akses` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_pengguna`
--
INSERT INTO `tbl_pengguna` (`id`, `pengguna`, `kata_sandi`, `hak_akses`) VALUES
(1, 'admin', 'd033e22ae348aeb5660fc2140aec35850c4da997', 'Admin'),
(2, 'member', '6467baa3b187373e3931422e2a8ef22f3e447d77', 'Member');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_pengguna`
--
ALTER TABLE `tbl_pengguna`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_pengguna`
--
ALTER TABLE `tbl_pengguna`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
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 */;
-- version 4.8.3
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Mar 31, 2019 at 12:39 PM
-- Server version: 10.1.36-MariaDB
-- PHP Version: 5.6.38
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
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: `hanyabosan`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbl_pengguna`
--
CREATE TABLE `tbl_pengguna` (
`id` int(11) NOT NULL,
`pengguna` varchar(30) NOT NULL,
`kata_sandi` varchar(64) NOT NULL,
`hak_akses` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_pengguna`
--
INSERT INTO `tbl_pengguna` (`id`, `pengguna`, `kata_sandi`, `hak_akses`) VALUES
(1, 'admin', 'd033e22ae348aeb5660fc2140aec35850c4da997', 'Admin'),
(2, 'member', '6467baa3b187373e3931422e2a8ef22f3e447d77', 'Member');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_pengguna`
--
ALTER TABLE `tbl_pengguna`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_pengguna`
--
ALTER TABLE `tbl_pengguna`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
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 */;
Disini kita menggunakan sha1 untuk kata_sandinya , agar lebih aman , untuk isi data nya :
- pengguna : admin , kata sandi admin
- pengguna : member , kata sandi : member
Langkah selanjutnya :
- aktifkan library form_validation,session,database,simple_login dan juga helper di application/config/autoload.php
- Hubungkan codeigniter dengan mySql konfigurasi di application/config/database.php (sesuaikan konfigurasi kalian)
- Membuat controller form login di application/controllers/ (di baguskan untuk nama file di controllers diawali dengan Upper Case / Huruf besar) dengan nama Masuk.php
<?php defined('BASEPATH') OR exit('Tidak ada akses skrip langsung diizinkan');
class Masuk extends CI_Controller{
public function index(){
$validasi = $this->form_validation;
$validasi->set_rules('pengguna', 'Pengguna', 'required',
array('required' => 'Pengguna Harus Di isi !'));
$validasi->set_rules('kata_sandi', 'Kata Sandi', 'required',
array('required' => 'Kata Sandi Harus Di isi !'));
$pengguna = $this->input->post('pengguna');
$kata_sandi = $this->input->post('kata_sandi');
if($validasi->run()){
$this->simple_login->masuk($pengguna, $kata_sandi);
}
$data = array('title' => 'Halaman Login',
'judul' => 'Selamat Datang');
$this->load->view('masuk' , $data);
}
public function keluar(){
$this->simple_login->keluar();
}
}
class Masuk extends CI_Controller{
public function index(){
$validasi = $this->form_validation;
$validasi->set_rules('pengguna', 'Pengguna', 'required',
array('required' => 'Pengguna Harus Di isi !'));
$validasi->set_rules('kata_sandi', 'Kata Sandi', 'required',
array('required' => 'Kata Sandi Harus Di isi !'));
$pengguna = $this->input->post('pengguna');
$kata_sandi = $this->input->post('kata_sandi');
if($validasi->run()){
$this->simple_login->masuk($pengguna, $kata_sandi);
}
$data = array('title' => 'Halaman Login',
'judul' => 'Selamat Datang');
$this->load->view('masuk' , $data);
}
public function keluar(){
$this->simple_login->keluar();
}
}
- Membuat views form login di application/views/ (di baguskan untuk nama file di views diawali dengan Lower Case / Huruf kecil) dengan nama masuk.php
<!DOCTYPE html>
<html>
<head>
<title><?=$title ?></title>
</head>
<body>
<h1><?=$judul ?></h1>
<form action="<?php echo base_url('masuk') ?>" method="POST">
<?php
echo validation_errors();
if($this->session->flashdata('pesan')){
echo $this->session->flashdata('pesan');
}
?>
<table>
<tr>
<td>Pengunna</td>
<td><input type="text" name="pengguna"></td>
</tr>
<tr>
<td>Kata Sandi</td>
<td><input type="password" name="kata_sandi"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="MASUK"></td>
</tr>
</table>
</form>
</form>
</body>
</html>
<html>
<head>
<title><?=$title ?></title>
</head>
<body>
<h1><?=$judul ?></h1>
<form action="<?php echo base_url('masuk') ?>" method="POST">
<?php
echo validation_errors();
if($this->session->flashdata('pesan')){
echo $this->session->flashdata('pesan');
}
?>
<table>
<tr>
<td>Pengunna</td>
<td><input type="text" name="pengguna"></td>
</tr>
<tr>
<td>Kata Sandi</td>
<td><input type="password" name="kata_sandi"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="MASUK"></td>
</tr>
</table>
</form>
</form>
</body>
</html>
- oh iyah jangan lupa arahkan halaman awal controllers Masuk.php di application/config/routes.php
<?php defined('BASEPATH') OR exit('Tidak ada akses skrip langsung diizinkan');
class Simple_login{
var $CI = NULL;
public function __construct(){
$this->CI =& get_instance();
}
public function masuk($pengguna, $kata_sandi){
$kuery = $this->CI->db->get_where('tbl_pengguna', array(
'pengguna' => $pengguna,
'kata_sandi' => sha1($kata_sandi)
));
if($kuery->num_rows() == 1){
$baris = $this->CI->db->query('SELECT * FROM tbl_pengguna WHERE pengguna = "'.$pengguna.'"');
$admin = $baris->row();
$id = $admin->id;
$pengguna = $admin->pengguna;
$hak_akses = $admin->hak_akses;
$this->CI->session->set_userdata('id', $id);
$this->CI->session->set_userdata('pengguna',$pengguna);
$this->CI->session->set_userdata('hak_akses',$hak_akses);
redirect(base_url('beranda'));
}else{
$this->CI->session->set_flashdata('pesan','Pengguna/Kata Sandi Salah !');
redirect(base_url().'masuk');
}
return false;
}
public function cek_login(){
if($this->CI->session->userdata('pengguna') == '' && $this->CI->session->userdata('id')==''){
$this->CI->session->set_flashdata('pesan','Silahkan Login Terlebih Dahulu !');
redirect(base_url('masuk'));
}
}
public function keluar(){
$this->CI->session->unset_userdata('id');
$this->CI->session->unset_userdata('pengguna');
$this->CI->session->unset_userdata('hak_akses');
$this->CI->session->set_flashdata('pesan','Anda Berhasil Logout');
redirect(base_url('masuk'));
}
}
class Simple_login{
var $CI = NULL;
public function __construct(){
$this->CI =& get_instance();
}
public function masuk($pengguna, $kata_sandi){
$kuery = $this->CI->db->get_where('tbl_pengguna', array(
'pengguna' => $pengguna,
'kata_sandi' => sha1($kata_sandi)
));
if($kuery->num_rows() == 1){
$baris = $this->CI->db->query('SELECT * FROM tbl_pengguna WHERE pengguna = "'.$pengguna.'"');
$admin = $baris->row();
$id = $admin->id;
$pengguna = $admin->pengguna;
$hak_akses = $admin->hak_akses;
$this->CI->session->set_userdata('id', $id);
$this->CI->session->set_userdata('pengguna',$pengguna);
$this->CI->session->set_userdata('hak_akses',$hak_akses);
redirect(base_url('beranda'));
}else{
$this->CI->session->set_flashdata('pesan','Pengguna/Kata Sandi Salah !');
redirect(base_url().'masuk');
}
return false;
}
public function cek_login(){
if($this->CI->session->userdata('pengguna') == '' && $this->CI->session->userdata('id')==''){
$this->CI->session->set_flashdata('pesan','Silahkan Login Terlebih Dahulu !');
redirect(base_url('masuk'));
}
}
public function keluar(){
$this->CI->session->unset_userdata('id');
$this->CI->session->unset_userdata('pengguna');
$this->CI->session->unset_userdata('hak_akses');
$this->CI->session->set_flashdata('pesan','Anda Berhasil Logout');
redirect(base_url('masuk'));
}
}
- Membuat lagi controller di application/controllers/ dengan nama Beranda.php
<?php defined('BASEPATH') OR exit('Tidak ada akses skrip langsung diizinkan');
class Beranda extends CI_Controller{
function __construct(){
parent:: __construct();
}
public function index(){
$data = array('title' => 'Halaman Beranda',
'judul' => 'Selamat Datang');
$this->load->view('beranda', $data);
}
}
class Beranda extends CI_Controller{
function __construct(){
parent:: __construct();
}
public function index(){
$data = array('title' => 'Halaman Beranda',
'judul' => 'Selamat Datang');
$this->load->view('beranda', $data);
}
}
- Membuat lagi view di application/views/ dengan nama beranda.php
<?php $this->simple_login->cek_login(); ?>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<h1><?=$judul?></h1>
<?php if($this->session->userdata('hak_akses')== 'Admin'){ ?>
<h1>Anda Admin</h1>
<?php }elseif($this->session->userdata('hak_akses') == 'Member'){ ?>
<h1>Anda Member</h1>
<?php } ?>
<a href="<?=base_url('masuk/keluar') ?>">Keluar</a>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<h1><?=$judul?></h1>
<?php if($this->session->userdata('hak_akses')== 'Admin'){ ?>
<h1>Anda Admin</h1>
<?php }elseif($this->session->userdata('hak_akses') == 'Member'){ ?>
<h1>Anda Member</h1>
<?php } ?>
<a href="<?=base_url('masuk/keluar') ?>">Keluar</a>
</body>
</html>
*Untuk multiusernya menggunakan kondisi $this->session->userdata('hak_akses')== 'Admin' (untuk admin) dan $this->session->userdata('hak_akses')== 'Member' (untuk member)
- jika sudah maka coba langsungg . ini halaman login nya :
- Halaman member ketika sudah masuk
- Tampilan sesudah logout di kembalikan ke halaman login dan memunculkan validasi
Membuat Simple Login Multiuser + validasi dengan Codeigniter
By Hanyabosan
*tampilan awal aplikasi
Hallo semuanya kali ini saya akan membagikan aplikasi ExamBro(ExamBrowser) aplikasi CBT client versi android , asalnya ini aplikasi di gunakan untuk ujian berbasis online/offline dengan fitur ketika aplikasi sudah masuk tampilan web ujian, tidak bisa pindah ke aplikasi lain dan screenshoot.
*tampilan yang udah sudah masuk ke web ujian yang bisa screenshoot
*tampilan bisa pundah-pindah aplikasi lain (multitask)
Fitur-fiturnya :
1. Mendukung semua versi android dari 4.0 keatas
2. Swipe untuk meng-refresh halaman
3. bisa screenshoot
4. bisa multitask (pundah-pindah aplikasi)
5. dll.
Referensi : catatankerenrobby
Link downloadnya :
ExamBro - Aplikasi CBT untuk android (Fitur Eksperimental)
By Hanyabosan
Hallo semuanya kali ini saya mau membagikan sebuah aplikasi Login multiuser dengan session dan enkripsi SHA1 berbasis desktop (JAVA SE) .
Fitur - fitur nya :
1. Menggunakan bahasa JAVA SE
2. Pemrograman berbasis native
3. Multiuser
4. Session dan enkripsi password SHA 1
Link downloadnya :
Login multiuser dengan session dan enkripsi SHA1
By Hanyabosan
VB .NET - Koneksi Database MySQL
Untuk
mengikuti tutorial ini pastikan kalian sudah :
1. Install visual studio 2010 keatas (saya menggunakan versi 2015)
2. Install xampp pada komputernya link : disini
3. Install
mysql connector/ ODBC v 3.51 link : disini
4. Browser
untuk mengakses phpMyAdmin (saya menggunakan chrome)
Berikut langkah-langkahnya :
1. Buka/buat Project
2. membuat Database
3. Membuat Module
1. Membuat Project Baru
Pastikan anda sudah menginstall Visual Studio , buka aplikasinyaKlik New Project
Maka akan muncul :
2. Membuat Database
Buka aplikasi xampp nya , start pada bagian Apache & Mysql
Lalu
buka browser , akses http://localhost/phpmyadmin pada address bar, Lalu Buatlah sebuah database dengan mengklik New dibagian navigasi
3. Membuat Module
Klik ' Solution Explorer ' pada sisi kanan
:
Klik kanan pada nama project anda pilih Add --> Module
Maka Muncul :
dan pada bagian ' Name ' isi dengan koneksi
Lalu isi kodingannya dengan ini :
Imports System.Data.Odbc
Module koneksi
Public CONN As OdbcConnection
Public DA As OdbcDataAdapter
Public DS As DataSet
Public DR As OdbcDataReader
Public CMD As OdbcCommand
Public LokasiDB As String
Public Sub konek()
LokasiDB = “Driver={Mysql ODBC 3.51 Driver};database=dbdata;server=localhost;uid=root”
CONN = New OleDbConnection(LokasiDB)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module
Module koneksi
Public CONN As OdbcConnection
Public DA As OdbcDataAdapter
Public DS As DataSet
Public DR As OdbcDataReader
Public CMD As OdbcCommand
Public LokasiDB As String
Public Sub konek()
LokasiDB = “Driver={Mysql ODBC 3.51 Driver};database=dbdata;server=localhost;uid=root”
CONN = New OleDbConnection(LokasiDB)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module
VB .NET - Koneksi Database MySQL
By Hanyabosan
VB .NET - Koneksi Database Access (.mdb)
Untuk mengikuti tutorial ini pastikan kalian sudah :
1. Install Visual studio 2010 keatas (saya menggunakan versi 2015)
2. Install Microsoft Access (saya menggunakan versi 2016)
Berikut langkah-langkahnya :
1. Buka/buat Project
2. membuat Database
3. Membuat Module
1. Membuat Project Baru
Pastikan anda sudah menginstall Visual Studio , buka aplikasinyaKlik New Project
Maka akan muncul :
2. Membuat Database
Buatlah sebuah database dengan nama : DBDATA.mdbBuatlah sebuah Tabel dengan Nama : *contoh TBL_LOGIN
3. Membuat Module
Klik ' Solution Explorer ' pada sisi kananmaka muncul :
Klik kanan pada nama project anda pilih Add --> Module
Maka Muncul :
dan pada bagian ' Name ' isi dengan koneksi
Lalu isi kodingannya dengan ini :
Imports System.Data.OleDb
Module koneksi
Public CONN As OleDbConnection
Public DA As OleDbDataAdapter
Public DS As DataSet
Public DR As OleDbDataReader
Public CMD As OleDbCommand
Public LokasiDB As String
Public Sub konek()
LokasiDB = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=DB_DATA.mdb"
CONN = New OleDbConnection(LokasiDB)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module
Module koneksi
Public CONN As OleDbConnection
Public DA As OleDbDataAdapter
Public DS As DataSet
Public DR As OleDbDataReader
Public CMD As OleDbCommand
Public LokasiDB As String
Public Sub konek()
LokasiDB = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=DB_DATA.mdb"
CONN = New OleDbConnection(LokasiDB)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module
VB .NET - Koneksi Database Access (.mdb)
By Hanyabosan
Langganan:
Postingan (Atom)