Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, saya Mr.Gagaltotal666 akan
berbagi kepada anda yaitu tentang membuat login sederhana dengan PHP 7
dan MYSQLi menggunakan enkripsi MD5.
karena php 5 sudah jarang di pakai beserta session MySQL biasa
sekarang sudah saat nya move on ke php 7 dan update MySQLI
agar terhindar dari bypass sqli injection
oke langsung saja ikuti langkah berikut
pertama membuat database beserta akun user yang nanti
akan melakukan session login, contoh database yang saya
gunakan MySQL dan buat field nya seperti ini
contoh table user beserta column field nya
- id_user
- username
- password
- fullname
contoh buat akun dengan insert mysql
oke kalau akun user sudah terbuat langsung saja buat config atau koneksi
agar terhubung nya PHP dan MySQL
contoh sederhana koneksi pada PHP 7 dan MySQLi
front end yang saya pakai menggunakan Bootstrap v3.3.5
silakan anda download [disini]
selanjut nya membuat tampilan index.php
untuk sebuah form login untuk akun user tersebut
contoh sederhana login yang saya buat dengan Bootstrap v3.3.5
code diatas menjunjukan logika pesan yang terdiri dari pesan gagal, logout,
oke langkah selanjut nya membuat logout.php
aksi logout ini akan membuat user bisa keluar dari halaman/dashboard
simple kok, contoh seperti ini
$ create database db_login;
- id_user
- username
- password
- fullname
contoh buat akun dengan insert mysql
$ INSERT INTO `user` (`id_user`, `username`, `password`, `fullname`) VALUES (NULL, 'gagaltotal', MD5('gagaltotal'), 'administrator');
oke kalau akun user sudah terbuat langsung saja buat config atau koneksi
agar terhubung nya PHP dan MySQL
contoh sederhana koneksi pada PHP 7 dan MySQLi
<?php
$db_host = "127.0.0.1";
$db_user = "root";
$db_pass = "";
$db_name = "db_login";
$koneksi = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno()){
echo 'Gagal melakukan koneksi ke Database : '.mysqli_connect_error();
}
?>
front end yang saya pakai menggunakan Bootstrap v3.3.5
silakan anda download [disini]
selanjut nya membuat tampilan index.php
untuk sebuah form login untuk akun user tersebut
contoh sederhana login yang saya buat dengan Bootstrap v3.3.5
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Login latihan</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color:#eee;
}
.row {
margin:100px auto;
width:300px;
text-align:center;
}
.login {
background-color:#fff;
padding:20px;
margin-top:20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<h2>Log In User</h2>
<div class="login">
<?php
if(isset($_GET['pesan'])){
if($_GET['pesan'] == "gagal"){
echo "Login gagal! username dan password salah!";
}else if($_GET['pesan'] == "logout"){
echo "Anda telah berhasil logout";
}else if($_GET['pesan'] == "belum_login"){
echo "Anda harus login untuk mengakses dashboard";
}
}
?>
<form role="form" action="cek-login.php" method="post">
<div class="form-group">
<input type="text" name="username" class="form-control" placeholder="Username" required autofocus />
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" placeholder="Password" required autofocus />
</div>
<div class="form-group">
<input type="submit" name="login" class="btn btn-primary btn-block" value="Login sayang" />
</div>
</form>
</div>
Copyright © 2018 wwww.gagaltotal666.website
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
<?php if(isset($_GET['pesan'])){ if($_GET['pesan'] == "gagal"){ echo "Login gagal! username dan password salah!"; }else if($_GET['pesan'] == "logout"){ echo "Anda telah berhasil logout"; }else if($_GET['pesan'] == "belum_login"){ echo "Anda harus login untuk mengakses dashboard"; } }?>
belum login dengan menggunakan $_GET
dan echo menunjukan string input suatu pesan
oke lanjut membuat cek-login.php
kenapa harus membuat cek log ? karena untuk istilah nya mah aksi
dan echo menunjukan string input suatu pesan
oke lanjut membuat cek-login.php
kenapa harus membuat cek log ? karena untuk istilah nya mah aksi
atau suatu proses nya user yang ingin login ke halaman nya
boleh juga session log anda taruh di index.php, namun akan
boleh juga session log anda taruh di index.php, namun akan
memakan banyak code dan size
jika di gabungkan dengan halaman login
contoh cek-login.php
jika di gabungkan dengan halaman login
contoh cek-login.php
<?php
// mengaktifkan session php
session_start();
// menghubungkan dengan koneksi
include 'koneksi.php';
// menangkap data yang dikirim dari form
$username = $_POST['username'];
$password = md5($_POST['password']);
// menyeleksi data dengan username dan password yang sesuai
$data = mysqli_query($koneksi,"select * from user where username='$username' and password='$password'");
// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($data);
if($cek > 0){
$cuy = mysqli_fetch_assoc($data);
$_SESSION['username'] = $username;
$_SESSION['fullname'] = $cuy['fullname'];
$_SESSION['status'] = "login";
header("location: user.php");
}else{
header("location: index.php?pesan=gagal");
}
?>
oke langkah selanjut nya membuat logout.php
aksi logout ini akan membuat user bisa keluar dari halaman/dashboard
simple kok, contoh seperti ini
<?php
session_start();
session_destroy();
header("Location: index.php?pesan=logout");
?>
kenapa ada pesan logout ?, karena di index.php sudah di buat $_GET pemanggilan
untuk logout, automatis akan membaca dan mengeluarkan pesan sesuai input string
yang di $_GET pesan logout
terakhir buat dashboard user contoh disini saya dengan nama file user.php
untuk anda bebas terserah mau itu admin.php atau apalah
<?php
session_start();
if($_SESSION['status']!="login"){
header("location: index.php?pesan=belum_login");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Dashboard User</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color:#eee;
}
.row {
margin:100px auto;
width:300px;
text-align:center;
}
.login {
background-color:#fff;
padding:20px;
margin-top:20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<h2>Login Berhasil</h2>
<div class="login">
<p>Anda berhasil login dengan nama sebagai berikut:</p>
<p>Username: <?php echo $_SESSION['username']; ?><br>
fullname : <?php echo $_SESSION['fullname']; ?></p>
<p><a href="logout.php" class="btn btn-primary" onclick="return confirm('Yakin ingin Logout?')">Log out</a></p>
</div>
Copyright © 2018 wwww.gagaltotal666.website
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
<?php
session_start();
if($_SESSION['status']!="login"){
header("location: index.php?pesan=belum_login");
}
?>
logika code diatas ini menunjukan session untuk ke halaman login
jika si user belum login akan langsung mengarahkan ke halaman login
jika sudah login dengan benar akan langsung menuju ke user.php
jadi agar tidak terkena bypass atau disebut suatu keamanan sederhana
<?php echo $_SESSION['username']; ?>
<?php echo $_SESSION['fullname']; ?>
code session ini hanya menampilkan field dari database
oke jika sudah akan seperti ini
oke cukup sekian mengenai login sederhana dengan PHP 7 dan MySQLi
kalau ada kesalahan dan kekurangan nya mohon berikan masukan nya ya
download file latihan ini
sekian dan semoga bermanfaat....
Wasalamualaikum Wr.Wb...
0 Comments