Sebelumnya kita sudah membahas tentang cara membuat halaman login php dan sekarang kita akan membuat halaman yang hanya bisa di akses user yang sudah login php saja / bisa kita sebut Membuat Halaman Administrator di PHP. Jika anda belum membaca tutorial PHP membuat halaman login di php silahkana baca di Belajar PHP - Membuat Login. Anda juga bisa membaca toturial PHP lainnya di Tutorial PHP.
Membuat halaman administrator di php ini membutuhkan SESSION PHP untuk bisa membedakan apakah dia sudah login dan memiliki username atau masih kosong. Kita buat logika sederhana dulu.
Jika user tidak login maka harus loginArtinya, apabila user mengakses halaman katakanlah admin.php jika user tidak login php maka user akan di alihkan secara otomatis ke halaman login.php. Apakah anda sudah mulai paham ? Saya rasa logika tersebut hal mudah untuk dipahami.
Script untuk mengalihkan LOGIN PHP
Agar logika itu berjalan maka kita harus membuat script php yang tugasnya mengalihkan user yang tidak login, terdapat banyak sekali script untuk mengalihkan ke halaman lain seperti JS (JavaScript), JQuery, dan lain-lain tetapi disini akan membahas PHP. Biasanya saya memakai scriptheader ('location: login.php');
untuk lebih jelasnya anda buat 2 file baru (index.php, login.php) dan copy script di bawah ini.
Script mengalihkan halaman
if (!$_SESSION) {
header('location: index.php');
}
Script di atas dapat di artikan Memulai session, jika tidak ada SESSION PHP maka akan di alihkan ke index.php. Halaman administrator juga seperti itu kita harus memakai session php untuk menyimpan username yang dimiliki.
header('location: index.php');
}
a. Membuat Halaman Login
Kita akan membuat halaman khusus untuk yang memiliki session menyambung artikel Belajar PHP - Membuat halaman login yang sebelumnya sudah saya buat. Disini kita mengubah script login.php yang sebelumnya kita buat, ganti script login.php dengan script berikut.
Administrator Login Session
<?php
session_start();
/* Session Login */
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$dbname = 'pemulabelajar';
$koneksi = mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbname,$koneksi);
if (isset($_POST['login'])) {
$user = $_POST['user'];
$sandi = $_POST['sandi'];
$login=mysql_query("SELECT * FROM `user` WHERE `username`='$user' AND `sandi`='$sandi'");
if(mysql_num_rows($login)=='0'){
echo "Username dan Kata Sandi anda tidak cocok";
} else {
$_SESSION['user']=$user;
header('location: login_berhasil.php');
}
}
?>
<!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>Form Login - Study-newbie.blogspot.com</title>
</head>
<body>
<p>Form Login User</p>
<form method="post">
<p>username :</p>
<input name="user" type="text" />
<p>password :</p>
<input name="sandi" type="password" /><br/>
<button type="submit" name="login">Login</button>
</form>
</body>
</html>
session_start();
/* Session Login */
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$dbname = 'pemulabelajar';
$koneksi = mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbname,$koneksi);
if (isset($_POST['login'])) {
$user = $_POST['user'];
$sandi = $_POST['sandi'];
$login=mysql_query("SELECT * FROM `user` WHERE `username`='$user' AND `sandi`='$sandi'");
if(mysql_num_rows($login)=='0'){
echo "Username dan Kata Sandi anda tidak cocok";
} else {
$_SESSION['user']=$user;
header('location: login_berhasil.php');
}
}
?>
<!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>Form Login - Study-newbie.blogspot.com</title>
</head>
<body>
<p>Form Login User</p>
<form method="post">
<p>username :</p>
<input name="user" type="text" />
<p>password :</p>
<input name="sandi" type="password" /><br/>
<button type="submit" name="login">Login</button>
</form>
</body>
</html>
Keterangan:
$user adalah hasil POST dari Form dibawah.
$_SESSION['user'] adalah $user yang di dapatkan setelah username dan password cocok.
b. Membuat Halaman Login_berhasil Administrator
Tentu setelah login user memiliki hak akses yang tidak bisa di akses non-user, dari maka itu kita membuat halaman administrator ini yang mana non-user tidak bisa mengaksesnya.Kita sudah memiliki halaman login_berhasil.php, jika belum memilikinya dan masih kurang paham silahkan simak pada penjelasan Belajar PHP - Membuat halaman login.
Copy script berikut dan paste di login_berhasil.php :
Kode login_berhasil.php
<?php
session_start();
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$dbname = 'pemulabelajar';
$koneksi = mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbname,$koneksi);
if (!$_SESSION['user']) {
header('location: login.php');
}
?>
<!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 Sukses - Study-newbie.blogspot.com</title>
</head>
<body>
<h3>Selamat datang di Sistem</h3>
Jika anda berhasil masuk disini maka anda sudah memulai $_SESSION sebuah user :).
<a href="keluar.php">Akhiri Session</a>
</body>
</html>
session_start();
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$dbname = 'pemulabelajar';
$koneksi = mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbname,$koneksi);
if (!$_SESSION['user']) {
header('location: login.php');
}
?>
<!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 Sukses - Study-newbie.blogspot.com</title>
</head>
<body>
<h3>Selamat datang di Sistem</h3>
Jika anda berhasil masuk disini maka anda sudah memulai $_SESSION sebuah user :).
<a href="keluar.php">Akhiri Session</a>
</body>
</html>
Pada login_berhasil ini harus melewati akses login php dulu, jika tanpa login maka user akan langsung di alihkan ke login php. Silahkan di coba :)
c. Buat file keluar.php
Untuk menghindari hal-hal yang tidak di inginkan ketika orang lain memiliki session user yang sudah login maka kita harus membuat user ini mengakhiri sessionnya agar terhindar dari tangan-tangan jahil (Misal: Warnet).Mengakhiri session menggunakan
session_destroy();
tetapi sebelum session_destroy();
kita harus mendapatkan sessionnya dulu dengan session_start();
.Lebih jelasnya coba buat file dengan nama keluar.php dan copy script di bawah ini :
kode keluar.php
<?php
session_start();
session_destroy();
header('location:login_berhasil.php');
?>
session_start();
session_destroy();
header('location:login_berhasil.php');
?>
Script di atas akan mengakhiri session user setelah itu akan langsung menuju halaman login.php.
Anda dapat mengembangkan script di atas sesuai keperluan anda, script di atas hanya sebuah gambaran dan anda bisa membuat script serumit mungkin tetapi inti tetap akan seperti itu.
Semoga artikel PHP - Membuat halaman administrator ini dapat bermanfaat bagi anda untuk bisa mengembangkan web developt anda. Jangan lupa share dengan tombol di bawah, jika terjadi kesulitan bisa anda tanya di menu komentar akan dijawab secepatnya. Salam dan Terima Kasih :)