Home > Uncategorized > Login dengan Batasan Akses (Otorisasi Admin-User)

Login dengan Batasan Akses (Otorisasi Admin-User)

Kembali lagi neh berjumpa dengan AaEzha.com. Gak bosen kan? ๐Ÿ˜€
Kali ini, kita akan membahas, masih tentang, login lagi. Bedanya dengan postingan yang sebelumnya, kali ini kita akan membedakannya bagaimana yang menggunakan otorisasi Administrator atau User.

Untuk database dan table-nya, kita tetap menggunakan table yang telah kita buat dari postingan yang sebelumnya itu ๐Ÿ™‚ tinggal ditambah sedikit saja, yaitu field level.
Kira-kira begini log-nya:

mysql> alter table tbl_user add level varchar(15) not null;
Query OK, 1 row affected (1.26 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> desc tbl_user;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(2)      | NO   | PRI | NULL    | auto_increment |
| username | varchar(50) | NO   |     | NULL    |                |
| password | varchar(35) | NO   |     | NULL    |                |
| level    | varchar(15) | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.72 sec)

Lalu, kita edit username aa menjadi level ‘admin’ dan kita buat 1 user baru lagi dengan level user.

mysql> update tbl_user set level='admin' where id=1;
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from tbl_user;
+----+----------+----------------------------------+-------+
| id | username | password                         | level |
+----+----------+----------------------------------+-------+
|  1 | aa       | 5f4dcc3b5aa765d61d8327deb882cf99 | admin |
+----+----------+----------------------------------+-------+
1 row in set (0.00 sec)

mysql> insert into tbl_user(username,password,level) values('bb', md5('password'),'user');
Query OK, 1 row affected (0.13 sec)

mysql> select * from tbl_user;
+----+----------+----------------------------------+-------+
| id | username | password                         | level |
+----+----------+----------------------------------+-------+
|  1 | aa       | 5f4dcc3b5aa765d61d8327deb882cf99 | admin |
|  2 | bb       | 5f4dcc3b5aa765d61d8327deb882cf99 | user  |
+----+----------+----------------------------------+-------+
2 rows in set (0.00 sec)

Oke, kita hanya memakai tabel yang sama dengan postingan yang sebelumnya, tetapi tidak untuk file-file contohnya ๐Ÿ™‚

Berikut file-filenya ๐Ÿ˜€
ini sebagai index.php
[html]<html>
<head><title>Login</title></head>
<body>
<h2>Halaman Login</h2>
<form action="log.php?op=in" method="post">
User ID : <input type="text" name="userid"><br>
Password : <input type="password" name="psw"><br>
<input type="submit" value="Login">
</form>
</body>
</html>[/html]

kemudian ini log.php
[php]<?php
session_start();
mysql_connect("localhost","root","12345") or die("Nggak bisa koneksi");
mysql_select_db("sekolah");//sesuaikan dengan nama database anda

$userid = $_POST[‘userid’];
$psw = $_POST[‘psw’];
$hash = md5($psw);
$op = $_GET[‘op’];

if($op=="in"){
$cek = mysql_query("SELECT * FROM tbl_user WHERE username=’$userid’ AND password=’$hash’");
if(mysql_num_rows($cek)==1){//jika berhasil akan bernilai 1
$c = mysql_fetch_array($cek);
$_SESSION[‘userid’] = $c[‘userid’];
$_SESSION[‘level’] = $c[‘level’];
if($c[‘level’]=="admin"){
header("location:homeadmin.php");
}else if($c[‘level’]=="user"){
header("location:homeuser.php");
}
}else{
die("password salah <a href=\"javascript:history.back()\">kembali</a>");
}
}else if($op=="out"){
unset($_SESSION[‘userid’]);
unset($_SESSION[‘level’]);
header("location:index.php");
}
?>[/php]

ini homeuser.php
[php]<?php
session_start();

//cek apakah user sudah login
if(!isset($_SESSION[‘userid’])){
die("Anda belum login");//jika belum login jangan lanjut..
}

//cek level user
if($_SESSION[‘level’]!="user"){
die("Anda bukan user");//jika bukan user jangan lanjut
}
?>

<html>
<head><title>Halaman User</title></head>
<body>
<?php echo "<h3>Welcome ".$_SESSION[‘userid’]."</h3>";?>
Menu :
<a href=halaman2.php>Halaman 2</a> |
<a href=halaman3.php>Halaman 3</a> |
<a href=log.php?op=out>Log Out</a>

</body>
</html>
[/php]

ini homeadmin.php
[php]<?php
session_start();

//cek apakah user sudah login
if(!isset($_SESSION[‘userid’])){
die("Anda belum login");//jika belum login jangan lanjut..
}

//cek level user
if($_SESSION[‘level’]!="admin"){
die("Anda bukan admin");//jika bukan admin jangan lanjut
}
?>

<html>
<head><title>Halaman Admin</title></head>
<body>
<?php echo "<h3>Welcome ".$_SESSION[‘userid’]."</h3>";?>
Menu :
<a href=halaman1.php>Halaman 1</a> |
<a href=halaman2.php>Halaman 2</a> |
<a href=log.php?op=out>Log Out</a>

</body>
</html>
[/php]

halaman1.php
[php]<?php
session_start();

//cek apakah user sudah login
if(!isset($_SESSION[‘userid’])){
die("Anda belum login");//jika belum login jangan lanjut..
}

//cek level user
if($_SESSION[‘level’]!="admin"){
die("Anda bukan admin");//jika bukan admin jangan lanjut
}
?>

<html>
<head><title>Halaman Admin</title></head>
<body>
<?php echo "<h3>Welcome ".$_SESSION[‘userid’]."</h3>";?>

<h4>Ini Halaman 1</h4>

</body>
</html>
[/php]

halaman2.php
[php]<?php
session_start();

//cek apakah user sudah login
if(!isset($_SESSION[‘userid’])){
die("Anda belum login");//jika belum login jangan lanjut..
}

//cek level user
if($_SESSION[‘level’]!="admin" && $_SESSION[‘level’]!="user"){
die("Anda bukan admin");//jika bukan admin dan user jangan lanjut
}
?>

<html>
<head><title>Halaman Admin dan User</title></head>
<body>
<?php echo "<h3>Welcome ".$_SESSION[‘userid’]."</h3>";?>

<h4>Ini Halaman 2</h4>

</body>
</html>
[/php]

halaman3.php
[php]<?php
session_start();

//cek apakah user sudah login
if(!isset($_SESSION[‘userid’])){
die("Anda belum login");//jika belum login jangan lanjut..
}

//cek level user
if($_SESSION[‘level’]!="user"){
die("Anda bukan user");//jika bukan user jangan lanjut
}
?>

<html>
<head><title>Halaman User</title></head>
<body>
<?php echo "<h3>Welcome ".$_SESSION[‘userid’]."</h3>";?>

<h4>Ini Halaman 3</h4>

</body>
</html>
[/php]

Nah, sisanya silahkan dibaca satu per satu kodenya. Kalo masih ada yang kurang dipahami, silahkan ditanyakan ๐Ÿ˜‰

Categories: Uncategorized
  1. 11 June 2011 at 16:53

    thx atas ilmunya ๐Ÿ˜‰

  2. Darmawan
    14 February 2014 at 20:49

    Terima Kasih Banyak Mas…!!!!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: