Kali ini saya akan berbagi cara membuat login sederhana dengan php, saya pun juga baru belajar php di perkuliahan. dan postingan ini juga untuk memenuhi tugas dari bapak dosen. Secara singkatnya kita nanti akan belajar membuat form login yang jika gagal atau salah 3 kali dalam memasukkan password atau user name maka akan di blok. Mari langsung kita mulai saja. cekidot.
Disini saya menggunakan netbean untuk membuat syntaxnya,karena lebih mudah dan seringnya pakai netbean semenjak belajar java dulu juga.
Pertama kita buat databasenya dulu pakai mySQL ya, isi databasenya seperti digambar ini

Selanjutnya buat project di netbean, jangan lupa pilih yang php ya.. dan beri nama sesuai selera kalian. kemudian buat 3 folder untuk pengelompokan class yang akan kita buat nanti. contohnya seperti gambar dibawah ini :

Folder controller nanti kita gunakan untuk menyimpan class yang secara langsung berinteraksi dengan form atau file index.php , Folder models untuk menyimpan class yang berkaitan untuk membuat fungsi atau method yang kita pakai, dan yang utils untuk menyimpan class kelengkapan misal untuk koneksi ke database.
Lalu setelah membuat folder seperti di atas selanjutnya kita buat class dbconnection.php di dalam folder utils. Class ini digunakan untuk membuat koneksi ke database. Lalu isikan syntax ini didalam class tersebut
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'dbproweb_ct');
class dbConnection {
private $conn;
function __construct() {
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$this->conn = $link;
}
function getConn() {
return $this->conn;
}
function setConn($conn) {
$this->conn = $conn;
}
}
Kemudian setelah itu membuat class M_user di dalam folder models,Class ini digunakan untuk membuat fungsi atau method yang berhubungan dengan user. Misal untuk mengecek login user dan memberikan nilai blokir ketika gagal login 3 kali. Syntaxnya seperti di bawah ini.
<?php
include_once '../utils/dbConnection.php';
class M_user {
private $link;
function __construct() {
$objConn = new dbConnection();
$this->link = $objConn->getConn();
}
public function cekLogin($usr, $pwd){
$query = "SELECT * FROM users WHERE username='$usr' AND pass=PASSWORD('$pwd')";
$result = mysqli_query($this->link, $query);
$data = mysqli_fetch_row($result);
return $data;;
}
public function updateUserBlokir($usr){
$query = "UPDATE users SET blocked='Y' WHERE username='$usr'";
mysqli_query($this->link, $query);
}
}
Lalu membuat class C_login pada folder controller, Class ini untuk pengontrol dari class yang kita buat sebelumnya, dan untuk mengatur session saat login gagal atau berhasil yang kemudian mengarahkan ke halaman yang sudah di sesuaikan. syntaxnya seperti dibawah ini.
<?php
session_start();
include_once '../models/M_user.php';
$usr = $_POST['username'];
$pwd = $_POST['password'];
$objUsr = new M_user();
$data = $objUsr->cekLogin($usr, $pwd);
if(count($data) > 0){
$_SESSION['jmlloginerror']=0;
header('location:../admin.php');
} else {
$_SESSION['jmlloginerror']++;
if($_SESSION['jmlloginerror'] < 3){
header('location:../index.php');
} else {
$objUsr->updateUserBlokir($usr);
header('location:../blokir.php');
}
}
Tahap selanjutnya membuat form pada file index.php , syntaxnya seperti dibawah ini ya.
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
if (empty($_SESSION['jmlloginerror'])) {
$_SESSION['jmlloginerror'] = 0;
} else {
echo '<h1>ANDA GAGAL Login ke-' . $_SESSION['jmlloginerror'].'</h1>';
}
?>
<form action="controller/C_login.php" method="POST">
<table>
<tr>
<td>Username</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input type="password" name="password">
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="submit">
</td>
</tr>
</table>
</form>
</body>
</html>
Setelah membuat syntax pada file index.php, kita buat 2 file lagi yang pertama blokir.php dan yg kedua admin.php. Fungsinya hanya digunakan untuk direct jika berhasil login maka akan masuk pada halaman admin.php jika gagal login 3 kali maka akan masuk pada halaman blokir.php.
<h1>ANDA di BLOKIR</h1>
<h1>SELAMAT DATANG DI ADMIN</h1>
Tampilannya kurang lebih akan seperti ini,dan filenya bisa di download di bawah ya.


