Anda di halaman 1dari 3

MEMBUAT FORM LOGIN MULTI USER

Langsung saja kita menuju tutorialnya, misalkan kita punya data user sebagaimana
tersaji dalam tabel berikut ini
CREATE TABLE user (
username varchar(20),
password varchar(20),
level varchar(20),
PRIMARY KEY(username)
);

lalu masukkan data-datanya


INSERT
INSERT
INSERT
INSERT
INSERT

INTO `user`
INTO `user`
INTO `user`
INTO `user`
INTO `user`

VALUES ('a',
VALUES ('b',
VALUES ('c',
VALUES ('d',
VALUES ('e',

'pass1',
'pass2',
'pass3',
'pass4',
'pass5',

'admin');
'admin');
'user');
'user');
'user');

selanjutnya kita buat form loginnya.


login.htm
<form method="post" action="loginsubmit.php">
<table border="0">
<tr>
<td>Masukkan Username </td>
<td><input name="username" type="text"></td>
</tr>
<tr>
<td>Masukkan Password </td>
<td><input name="pass" type="password"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>

Form login sudah dibuat, berikutnya kita buat script untuk memproses loginnya.
loginsubmit.php
<?php
// memulai session
session_start();
mysql_connect('dbhost', 'dbuser', 'dbpass');
mysql_select_db('dbname');
$username = $_POST['username'];
$password = $_POST['pass'];
// query untuk mendapatkan record dari username
$query = "SELECT * FROM user WHERE username = '$username'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
// cek kesesuaian password
if ($password == $data['password'])
{
echo "<h1>Login Sukses</h1>";

// menyimpan username dan level ke dalam session


$_SESSION['level'] = $data['level'];
$_SESSION['username'] = $data['username'];
// tampilkan menu
include "menu.php";
}
else echo "<h1>Login gagal</h1>";
?>

Bila Anda perhatikan pada script di atas, maka terlihat bahwa menunya membaca
script menu.php. Di dalam script menu.php sendiri nantinya terdapat pengecekan
level usernya yang tadi tersimpan dalam session sewaktu login sukses. Bila level
usernya adalah admin maka tampilkan menu link menuju halaman 1, 2, dan 3.
Begitu pula untuk level user.
menu.php
<?php
session_start();
if ($_SESSION['level'] == "admin")
{
// tampilkan menu untuk admin
echo "<a href='hal1.php'>Halaman 1</a> ";
echo "<a href='hal2.php'>Halaman 2</a> ";
echo "<a href='hal3.php'>Halaman 3</a> ";
echo "<a href='logout.php'>Logout</a> ";
}
else if ($_SESSION['level'] == "user")
{
// tampilkan menu untuk user biasa
echo "<a href='hal3.php'>Halaman 3</a>";
echo "<a href='logout.php'>Logout</a> ";
}
?>

Selanjutnya, kita bisa mulai membuat konten pada halaman 1, 2 dan 3. Ingat..
sebelum menampilkan kontennya sebaiknya dicek level usernya terlebih dahulu. Bila
levelnya tidak sesuai dengan hak aksesnya, maka jangan ragu untuk menolak.
Untuk halaman 1, dari kasus yang kita ambil hanya bisa diakses oleh user berlevel
admin saja. Begitu pula untuk halaman 2. Namun untuk halaman 3, baik level
admin maupun user biasa boleh mengaksesnya.
hal1.php
<?php
session_start();
// cek apakah user yang mengakses halaman ini sudah melalui login
belum
// logikanya jika user telah login dan sukses, maka SESSION level
SESSION username ini pasti sudah ada
// jika ada user yang mencoba akses halaman ini tanpa login, maka
kedua SESSION belum ada
if (isset($_SESSION['level']) && isset($_SESSION['username']))
{
// tampilkan menu.
// menu hanya ditampilkan bila halaman ini diakses oleh user yang
login
include "menu.php";
// cek level user apakah admin atau bukan

atau
dan
logikanya

telah

if ($_SESSION['level'] == "admin")
{
// tampilkan konten halaman 1 jika levelnya admin
echo "<h1>Halaman 1</h1>";
echo "<p>Selamat datang di halaman satu wahai user : ".
$_SESSION['username']."</p>";
echo "<p>Ini adalah konten halaman 1</p>";
}
else
{
// jika levelnya bukan admin, tampilkan pesan
echo "<h1>Maaf.. Anda bukan user berlevel Administrator</h1>";
}
}
else
{
echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
}
?>

Untuk halaman 2, konsepnya juga sama seperti script halaman 1 di atas, hanya
yang berbeda pada kontennya tentu saja. Sekarang untuk halaman ke-3 di mana
yang bisa mengakses adalah semua level user, scriptnya adalah:
hal3.php
<?php
session_start();
if (isset($_SESSION['level']) && isset($_SESSION['username']))
{
include "menu.php";
if (($_SESSION['level'] == "admin") || ($_SESSION['level'] == "user"))
{
echo "<h1>Halaman 3</h1>";
echo "<p>Selamat datang di halaman tiga wahai user : ".
$_SESSION['username']."</p>";
echo "<p>Ini adalah konten halaman 3</p>";
}
}
else
{
echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
}
?>

Pada prinsipnya proses logout adalah menghapus semua session yang tadi
terbentuk ketika login sukses.
logout.php
<?php
session_start();
session_destroy();
echo "<h1>Anda sudah logout</h1>";
echo "<p><a href='formlogin.htm'>Login Kembali</a></p>";
?>

Anda mungkin juga menyukai