Oke kali ini gw akan bahas gimana cara bikin halaman login dan logout, berarti sekalian gw kasih tau cara nyimpen username dan password di dalem database. Disini gw bukan ngajarin tapi gw cuma kasih kesimpulan dari berbagai macam tutorial yang udah gw cari dan gw baca dari internet juga :D. Sebelum kita bikin halaman login dan logout kita akan buat dulu username dan password yang akan kita simpan di database sehingga nanti kita bisa login dan bisa logout.
Pertama tama mari kita niat terlebih dahulu dan kita buatlah databasenya. Bikin database dengan nama 'tutorial' tanpa tanda kutip, lalu kita buat lah tablenya dengan nama admin 2 field saja cukup
CREATE TABLE IF NOT EXISTS `admin` (
`username` varchar(20) NOT NULL,
`password` varchar(32) NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
untuk username sengaja kita bikin primary key karna seharusnya username itu gak boleh ada yang sama kan? kalo password kan ada kemungkinan bisa sama ya gak ?
terus file - file yang nanti akan kita butuhin yaitu :
- connectadm.php << untuk koneksi ke databasenya
- register.php << form untuk memasukan data username dan password ke database
- submit.php << script untuk memasukan data dari form register.php ke database
- login.php << form untuk login
- logincek.php << script untuk mengecek session
- loginsubmit.php << script untuk mengecek kebenaran dari username dan password
- logout.php << script untuk logout sekaligus menghapus session yang ada
Oke get ready!! kita buat script pertama, mungkin udah pada apal ya
script connectadm.php
<?php
$host ="localhost";
$userhost ="root";
$passhost ="monkey";
$db_name ="tutorial";
$tbl_name ="admin";
mysql_connect("$host","$userhost","$passhost")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select database");
?>
lalu kita buat form register simpan dengan nama register.php
<html>
<head><title> Daftarin Admin </title></head>
<body>
<center>
<h2>Daftar Admin Galau</h2>
<form method="post" action="submit.php">
<table>
<tr>
<td>Masukkan Username</td>
<td><input name="username" type="text" maxlength="20"></td>
</tr>
<tr>
<td>Masukkan Password</td>
<td><input name="pass1" type="password" maxlength="32"></td>
</tr>
<tr>
<td>Ulangi Password</td>
<td><input name="pass2" type="password" maxlength="32"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
kira - kira nanti form registernya akan terlihat seperti ini
setelah form jadi lalu kita buat script penghubung data dari form ke dalam databasenya, buat script submit.php
<?php
include'connectadm.php';
$username = $_POST['username'];
$password1 = $_POST['pass1'];
$password2 = $_POST['pass2'];
//cek kesamaan password
if ((empty($username))||(empty($password1))||(empty($password2)))
{
echo "<script>alert('Harap semua diisi dengan benar');window.history.go(-1)</script>";
}
else if($password1==$password2) {
$pengacak = "NDJS3289JSKS190JISJI"; // harap ingat susunannya
$password1 = md5($pengacak.md5($password1).$pengacak); // harap ingat juga susunannya
$query = "INSERT INTO admin VALUES ('$username','$password1')";
$hasil = mysql_query($query);
if($hasil) echo "username sudah berhasil terdaftar, silahkan gunakan dengan bijak";
else echo"<script>alert('Username Admin sudah ada yang memiliki');window.history.go(-1)</script>";}
else {echo "<script>alert('Password yang anda masukan tidak sama');window.history.go(-1)</script>";}
?>
Dengan script diatas maka nanti password yang akan tersimpan di database adalah password yang sudah di enkripsi dengan metode md5, jadi misalkan kita membuat password 'monkey' maka yang akan tersimpan di database adalah suatu character acak yang characternya sudah kita tentukan di $pengacak. Jika sudah selesai cobalah masukan username dan password yang kita inginkan lalu cek lah database kita apakah sudah berhasil tersimpan dan lihatlah apa yang tersimpan di field password.
Setelah pembuatan username dan password berhasil, marilah kita menundukan kepala dan mengheningkan cipta sejenak #eh.
ayo lanjut membuat form loginnya, simpan dengan nama login.php yaa!!
<?php
session_start();
include "logincek.php";
?>
<html>
<head><title> Login Admin </title></head>
<body>
<center>
<h2>Login Admin</h2>
<form method="post" action="mainmenuadm.php?page=6">
<table border="0">
</tr>
<td>Username</td>
<td>:</td>
<td><input name="username" type="text" maxlength="20"></td>
<tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="pass" type="password" maxlength="32"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table></form>
</center>
</body>
</html>
Jangan lupa untuk menaruh script SESSION_START(); ini berguna untuk memberi tau browser bahwa yang akan menggunakan halaman ini adalah username yang sudah login terlebih dahulu, sehingga jika belum login maka halaman ini tidak akan dapat di akses, lalu jangan lupa sebelumnya kita cek terlebih dahulu apakah sudah ada administrator lain yang sudah login duluan di browser ini dengan cara menambahkan script logincek.php. mari buat script selanjutnya yaitu logincek.php
<?php
session_start();
if(isset($_SESSION['username']))
echo"<script>alert('Anda sudah Log in, silahkan Log out terlebih dahulu');window.history.go(-1)</script>";
exit;
?>
script diatas hanya untuk mengecek apakah sebelumnya sudah ada yang login atau belum, lalu untuk mengakses Form login gimana, ayo kita buat script loginsubmit.php, berikut adalah scriptnya
<?php
session_start();
include "connectadm.php";
$username = $_POST['username'];
$password = $_POST['pass'];
$query = "SELECT * FROM admin WHERE username='$username'";
$hasil = mysql_query($query) or die ("Error");
$data = mysql_fetch_array($hasil);
$pengacak ="NDJS3289JSKS190JISJI";
if(md5($pengacak.md5($password).$pengacak)==$data['password'])
{
$_SESSION['username']=$username;
echo "Berhasil Login, Selamat datang admin $username";
}
else {
echo"<script>alert('gagal login');</script>";
echo "<meta http-equiv='refresh' content='0;URL=login.php'>";
}
?>
Ingat $pengacak yang telah kita buat sebelumnya,?? di script ini $pengacaknya harus sama, saran saya mending copy paste aja :D. di script ini gunanya untuk mendekripsi kan apa yang ada di database menjadi sesuai dengan apa yang di input di form login.php.
Pernah punya akun facebook gak ?? gimana jadi nya kalo akun facebook lupa kita logout? pasti dibajak temen kan? Nah maka dari itu kita juga harus bisa bikin script logout nya jadi halaman admin kita gak bakal bisa dibajak lagi setelah kita logout, karena pas kita logout semua session yang tersimpan di browser akan terhapus dan kita diwajibkan untuk login ulang lagi, yaudah nyok bikin script logout.php
<?php
session_start();
// menghapus session username
unset($_SESSION['username']);
echo"<script>alert('anda sudah log out');</script>";
echo "<meta http-equiv='refresh' content='0;URL=menuadm.php'>";
?>
Kalo scriptnya berhasil maka akan muncul jendela pop up seperti ini
Monggo dicoba semoga sukses yaa, kalo ada trouble atau ada masukan boleh di share disini atau mention di twitter gw langsung ya @b_samz. muchos gracias!!
nice
BalasHapusterimakasih
BalasHapuskaka,, mau tanya, itu pada form login kan actionnya ke mainmenuadm.php?page=6
BalasHapusscript yang ini :
form method="post" action="mainmenuadm.php?page=6"
maksudnya gimana ya? kalo actionnya diganti ke "loginsubmit.php" aja bisa gak kaka?
trus logout.php dipanggilnya di bagian mana y?
thanks
untuk aini, maaf saya jarang buka blog lagi
BalasHapusaction dari mainmenuadm.php?page=6 sebenernya bisa diganti langsung ke loginsubmit.php cuma karna dulu masih terbatas ilmunya dan penulisan skripnya, jadi kalo diganti nanti malah gak kepanggil halaman loginsubmitnya
terus kalo logout.php manggilnya dimana bisa di cek di skrip main.php disitu ada daftar halaman main1 sampe main seterusnya
terimakasih banyak, sangat membantu :D
BalasHapuskk mw tanya,
BalasHapuskok ada info gini
cannot connect to server
saya daftarnnya lewat cpanel (pengatur website saya).
harap pencerahanya guru kalo bisa emailin ke wijayabenny@gmail.com pliss