Selamat pagi programer sekalian, kali ini saya sebagai awam akan sedikit memberikan penerangan (Lampu jalan kaleee penerangan segala) tentang Scrip PHP Login.
Setiap program berbasis dekstop yang menyediakan fasilitas Login User pasti akan ada batasan jumlah Login, begitu pula dengan Pemrograman Berbasis Web, dalam Web Script batasan jumlah Login User sudah tentu ada, jika pada program dekstop akan mengakhiri program ketika User menginputkan username dan password salah dalam jumlah yang telah ditentukan, maka dalam Web biasanya akan ada dua kemungkinan.
2. Akun akan login kembali setelah beberapa menit kemudian tergantung banyaknya pengaturan jumlah waktu, ini disebut timer login
Dalam posting kali ini, kami akan membahas No.1, yaitu bila User menginputkan Username dan Password salah dalam 3 kali, maka Username tersebut akan diblokir dan tidak bisa Login kembali sebelum menghubungi Admin. Langkahnya sebagai berikut :
1. Buat Database bebas, Misal Sumberdaya, Jika belum paham cara buat database MySql, silahkan baca kembali
FOTO
2. Jika database sudah dibuat, langkah selanjutnya adalah Buatlah Tabel misalkan kita berinama Users, untuk cara membuat tabel silahkan baca artikel pada nomor 1, satu paket dengan cara pebuatan database
3. Didalam tabel Users, yang wajib diperhatikan adalah filed batas_login dan blokir, kedua field inilah yang nantinya akan kita mainkan dalam script, Logikanya, jika batas login user adalah 3 kali, maka status blokir akan berubah 'Y' ketika user menginputkan sebanyak 3 kali salah
4. Langkah selanjutnya adalah, kita lihat script pada Cek_login.php
<?php
include "config/koneksi.php";
function antiinjection($data){
$filter_sql = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter_sql;
}
$username = antiinjection($_POST['username']);
$pass = antiinjection(md5($_POST['password']));
if (!ctype_alnum($username) OR !ctype_alnum($pass)){
echo "<script type=text/javascript>
alert('Script Login');
window.location = 'http://www.google.com/' //yang ini pengalihan ketika user salah
</script>";
//header('location:index.php');
}
else{
$login=mysql_query("SELECT * FROM users WHERE username='$username' AND password='$pass' AND blokir='N'");
$ketemu=mysql_num_rows($login);
$r=mysql_fetch_array($login);
// Apabila username dan password ditemukan
if ($ketemu > 0){
mysql_query("UPDATE users SET batas_login = 0 where username='$username'");
session_start();
session_register("namauser");
session_register("namalengkap");
session_register("passuser");
session_register("leveluser");
$_SESSION[namauser] = $r[username];
$_SESSION[namalengkap] = $r[nama_lengkap];
$_SESSION[passuser] = $r[password];
$_SESSION[leveluser] = $r[level];
header('location:media.php?module=home');
}
else{
mysql_query("UPDATE users SET batas_login = batas_login + 1 where username='$username'");
$a=mysql_fetch_array(mysql_query("SELECT batas_login from users where username = '$username'"));
$b=$a['batas_login'];
if($b > 2){
mysql_query("UPDATE users SET blokir = 'Y' where username='$username'");
echo "<script type=text/javascript>
alert('Username $username Telah Di Blokir, Silahkan Hubungi Administrator');
window.location = 'http://www.google.com/'
</script>";
}
else{
echo "<script type=text/javascript>
alert('Username Atau Password Tidak Benar Anda, Sudah $b Kali Mencoba');
window.location.href='index.php'
</script>";
}
}
}
?>
include "config/koneksi.php";
function antiinjection($data){
$filter_sql = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter_sql;
}
$username = antiinjection($_POST['username']);
$pass = antiinjection(md5($_POST['password']));
if (!ctype_alnum($username) OR !ctype_alnum($pass)){
echo "<script type=text/javascript>
alert('Script Login');
window.location = 'http://www.google.com/' //yang ini pengalihan ketika user salah
</script>";
//header('location:index.php');
}
else{
$login=mysql_query("SELECT * FROM users WHERE username='$username' AND password='$pass' AND blokir='N'");
$ketemu=mysql_num_rows($login);
$r=mysql_fetch_array($login);
// Apabila username dan password ditemukan
if ($ketemu > 0){
mysql_query("UPDATE users SET batas_login = 0 where username='$username'");
session_start();
session_register("namauser");
session_register("namalengkap");
session_register("passuser");
session_register("leveluser");
$_SESSION[namauser] = $r[username];
$_SESSION[namalengkap] = $r[nama_lengkap];
$_SESSION[passuser] = $r[password];
$_SESSION[leveluser] = $r[level];
header('location:media.php?module=home');
}
else{
mysql_query("UPDATE users SET batas_login = batas_login + 1 where username='$username'");
$a=mysql_fetch_array(mysql_query("SELECT batas_login from users where username = '$username'"));
$b=$a['batas_login'];
if($b > 2){
mysql_query("UPDATE users SET blokir = 'Y' where username='$username'");
echo "<script type=text/javascript>
alert('Username $username Telah Di Blokir, Silahkan Hubungi Administrator');
window.location = 'http://www.google.com/'
</script>";
}
else{
echo "<script type=text/javascript>
alert('Username Atau Password Tidak Benar Anda, Sudah $b Kali Mencoba');
window.location.href='index.php'
</script>";
}
}
}
?>
5. Keterangan tulisan warna merah
- http://www.google.com/ adalah script pengalihan program ketika user diblokir
- users adalah nama table dalam database
- http://www.google.com/ adalah script pengalihan program ketika user diblokir
- users adalah nama table dalam database
- batas_login adalah field pada tabel users yang menentukan banyaknya batasan login
- blokir adalah field yang ada pada tabel user yang berfungsi sebagai aktif dan tidaknya user
- $b adalah variabel yang digunakan untuk penetuan banyaknya jumlah login
- 2 adalah jumlah maksimal login
6. Jalankan program, dan Jika program dijalankan maka akan terlihat seperti ini
Untuk membuat script batasan jumlah login, kita hanya merubah sedikit pada file cek_login.php dan manipulasi database pada tabel users
Okeh, sekian dulu kawan artikel kali ini, semoga bermanfaat
- blokir adalah field yang ada pada tabel user yang berfungsi sebagai aktif dan tidaknya user
- $b adalah variabel yang digunakan untuk penetuan banyaknya jumlah login
- 2 adalah jumlah maksimal login
6. Jalankan program, dan Jika program dijalankan maka akan terlihat seperti ini
Form Login
masukan username yang telah ada pada database, kemudan masukan password yang salah, makan akan keluar alert, dan setelah memasukan passwrod sebanyak tigakali salah, maka alert terakhir adalah username diblokirUntuk membuat script batasan jumlah login, kita hanya merubah sedikit pada file cek_login.php dan manipulasi database pada tabel users
Okeh, sekian dulu kawan artikel kali ini, semoga bermanfaat