Users  

   

Hobi  

   

Statistik  

Visitors
215
Articles
59
Articles View Hits
384934
   

User Online  

We have 69 guests and no members online

   

Membuat Login Multi User Menggunakan PHP

Details

Saat ini banyak CMS atau juga situs-situs komunitas memiliki multi user, yang mempunyai tingkatan level yang berbeda-beda juga. Misalnya ada level admin, ada level user, yang mempunyai hak akses yang berbeda-beda.

Konsep untuk membuat login multi user adalah :

  1. Buat tabel user di database yang menyimpan data level masing-masing user
  2. Ketika login kita simpan level user yang login ke dalam variabel $_SESSION
  3. Ketika user masuk ke suatu halaman, cek apakah user sudah login dan cek level user tersebut

Sekarang mari kita lihat contoh tabel user di database dan kode PHPnya. Misal kita punya banyak halaman, di mana halaman-halaman tersebut mempunyai hak akses yang berbeda-beda. Contoh halaman-halaman web yang kita punya :

File / Halaman Web Yang Boleh Akses
homeadmin.php admin
homeuser.php user
halaman1.php admin
halaman2.php admin dan user
halaman3.php user

Berikut adah struktur tabeluser di database :

 
1 -- 
2 -- Table structure for table `tabeluser` 
3 -- 
4  
5 CREATE TABLE `tabeluser` ( 
6   `userid` varchar(20) NOT NULL, 
7   `password` varchar(50) NOT NULL, 
8   `level` varchar(15) NOT NULL, 
9   PRIMARY KEY  (`userid`) 
10 ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
  view plain | print | ?

 

Pertama-tama mari kita buat halaman untuk login. index.php

 

 
1 <html> 
2  
3 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:51 GMT --> 
4 <head><title>Login</title></head> 
5 <body> 
6 <h2>Halaman Login</h2> 
7 <form action="http://blog.codingwear.com/log.php?op=in" method="post"
8 User ID : <input type="text" name="userid"><br> 
9 Password : <input type="password" name="psw"><br> 
10 <input type="submit" value="Login"
11 </form> 
12 </body> 
13  
14 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:51 GMT --> 
15 </html> 
  view plain | print | ?

Pada halaman login di atas terdapat action berupa file log.php

 
1 <?php 
2 session_start(); 
3 mysql_connect("localhost","root",""or die("Nggak bisa koneksi"); 
4 mysql_select_db("test");//sesuaikan dengan nama database anda 
5  
6 $userid = $_POST['userid']; 
7 $psw = $_POST['psw']; 
8 $op = $_GET['op']; 
9  
10 if($op=="in"){ 
11     $cek = mysql_query("SELECT * FROM tabeluser WHERE userid='$userid' AND password='$psw'"); 
12     if(mysql_num_rows($cek)==1){//jika berhasil akan bernilai 1 
13         $c = mysql_fetch_array($cek); 
14         $_SESSION['userid'] = $c['userid']; 
15         $_SESSION['level'] = $c['level']; 
16         if($c['level']=="admin"){ 
17             header("location:homeadmin.php"); 
18         }else if($c['level']=="user"){ 
19             header("location:homeuser.php"); 
20         } 
21     }else
22          die("password salah <a href=_javascript_history.back()/_.html>kembali</a>"); 
23     } 
24 }else if($op=="out"){ 
25     unset($_SESSION['userid']); 
26     unset($_SESSION['level']); 
27     header("location:index.php"); 
28
29 ?> 
  view plain | print | ?

Pada kode log.php tersebut pertama-tama kita cek ke dalam tabeluser apakah ada userid dan password yang cocok. Jika ada maka kita set variabel $_SESSION['userid'] dan $_SESSION['level'], di mana nilai dari variabel session tersebut kita ambil dari database. Jika level user adalah admin maka langsung kita arahkan ke halaman homeadmin.php. Jika level user adalah user, maka kita arahlan ke halaman homeuser.php

Berikut adalah kode homeadmin.php

 

 
1 <?php 
2 session_start(); 
3  
4 //cek apakah user sudah login 
5 if(!isset($_SESSION['userid'])){ 
6     die("Anda belum login");//jika belum login jangan lanjut.. 
7
8  
9 //cek level user 
10 if($_SESSION['level']!="admin"){ 
11     die("Anda bukan admin");//jika bukan admin jangan lanjut 
12
13 ?> 
14  
15 <html> 
16  
17 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:51 GMT --> 
18 <head><title>Halaman Admin</title></head> 
19 <body> 
20 <?php echo "<h3>Welcome ".$_SESSION['userid']."</h3>";?> 
21 Menu : 
22 <a href=halaman1.html>Halaman 1</a> | 
23 <a href=halaman2.html>Halaman 2</a> | 
24 <a href=log8458.html?op=out>Log Out</a> 
25  
26 </body> 
27  
28 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:51 GMT --> 
29 </html> 
  view plain | print | ?

Pada kode di atas untuk mengecek apakah user sudah login atau belum adalah dengan menggunakan kode if(!isset($_SESSION['userid'])), artinya jika user belum login, yang ditandai dengan telah diset-nya variabel $_SESSION['userid']. Jika ternyata belum login maka kita stop sampai disitu dengan menggunakan fungsi die().

Jika user ternyata sudah login maka kita cek tingkatan level user. Kode $_SESSION['level']!="admin") berarti jika level tidak sama dengan admin, maka stop atau die().

Sekarang mari kita lihat kode homeuser.php

 

 
1 <?php 
2 session_start(); 
3  
4 //cek apakah user sudah login 
5 if(!isset($_SESSION['userid'])){ 
6     die("Anda belum login");//jika belum login jangan lanjut.. 
7
8  
9 //cek level user 
10 if($_SESSION['level']!="user"){ 
11     die("Anda bukan user");//jika bukan user jangan lanjut 
12
13 ?> 
14  
15 <html> 
16  
17 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:51 GMT --> 
18 <head><title>Halaman User</title></head> 
19 <body> 
20 <?php echo "<h3>Welcome ".$_SESSION['userid']."</h3>";?> 
21 Menu : 
22 <a href=halaman2.html>Halaman 2</a> | 
23 <a href=halaman3.html>Halaman 3</a> | 
24 <a href=log8458.html?op=out>Log Out</a> 
25  
26 </body> 
27  
28 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
29 </html> 
  view plain | print | ?

halaman1.php

 
1 <?php 
2 session_start(); 
3  
4 //cek apakah user sudah login 
5 if(!isset($_SESSION['userid'])){ 
6     die("Anda belum login");//jika belum login jangan lanjut.. 
7
8  
9 //cek level user 
10 if($_SESSION['level']!="admin"){ 
11     die("Anda bukan admin");//jika bukan admin jangan lanjut 
12
13 ?> 
14  
15 <html> 
16  
17 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
18 <head><title>Halaman Admin</title></head> 
19 <body> 
20 <?php echo "<h3>Welcome ".$_SESSION['userid']."</h3>";?> 
21  
22 <h4>Ini Halaman 1</h4> 
23  
24 </body> 
25  
26 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
27 </html> 
  view plain | print | ?

halaman2.php

 
1 <?php 
2 session_start(); 
3  
4 //cek apakah user sudah login 
5 if(!isset($_SESSION['userid'])){ 
6     die("Anda belum login");//jika belum login jangan lanjut.. 
7
8  
9 //cek level user 
10 if($_SESSION['level']!="admin" && $_SESSION['level']!="user"){ 
11     die("Anda bukan admin");//jika bukan admin dan user jangan lanjut 
12
13 ?> 
14  
15 <html> 
16  
17 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
18 <head><title>Halaman Admin dan User</title></head> 
19 <body> 
20 <?php echo "<h3>Welcome ".$_SESSION['userid']."</h3>";?> 
21  
22 <h4>Ini Halaman 2</h4> 
23  
24 </body> 
25  
26 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
27 </html> 
  view plain | print | ?

halaman3.php

 
1 <?php 
2 session_start(); 
3  
4 //cek apakah user sudah login 
5 if(!isset($_SESSION['userid'])){ 
6     die("Anda belum login");//jika belum login jangan lanjut.. 
7
8  
9 //cek level user 
10 if($_SESSION['level']!="user"){ 
11     die("Anda bukan user");//jika bukan user jangan lanjut 
12
13 ?> 
14  
15 <html> 
16  
17 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
18 <head><title>Halaman User</title></head> 
19 <body> 
20 <?php echo "<h3>Welcome ".$_SESSION['userid']."</h3>";?> 
21  
22 <h4>Ini Halaman 3</h4> 
23  
24 </body> 
25  
26 <!-- Mirrored from blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.drz by HTTrack Website Copier/3.x [XR&CO'2010], Sat, 17 Dec 2011 23:24:52 GMT --> 
27

</html> 

 

 

Tutorial ini bisa anda dapatkan langsung dari sumber y beserta Source code y juga bisa di download kunjungi www.blog.codingwear.com/read19-Membuat-Login-Multi-User-dengan-PHP.html

   

Indeks  

   
© ALLROUNDER