blog yang berisi berbagai macam cara ampuh

Membuat Login Multi Level User Menggunakan PHP dan MySQL

Bagaimana cara membuat sistem login tetapi dengan menggunakan level dari admin, editor dan user biasa? untuk membuat itu semua akan saya bahas pada artikel pendek kali ini.
Pertama, siapkan sebuah database pada mysql server dengan nama testing dan nama tabel dengan nama multiuser atau bisa di copy paste syntax dibawah ini.
CREATE DATABASE IF NOT EXISTS `testing` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `testing`;
CREATE TABLE IF NOT EXISTS `multiuser` (
`id_user` int(11) NOT NULL,
  `nama_lengkap` varchar(80) NOT NULL,
  `username` varchar(45) NOT NULL,
  `password` varchar(100) NOT NULL,
  `type_user` enum('admin','editor','user') NOT NULL,
  `tgl` datetime NOT NULL
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
INSERT INTO `multiuser` (`id_user`, `nama_lengkap`, `username`, `password`, `type_user`, `tgl`) VALUES
(1, 'Ghazali samudra', 'ghazali', '5b3cdd7dafc8dca65b3cd633241b2646', 'admin', '2014-06-26 10:39:52'),
(2, 'Andrian Saputra', 'andre', '582d74b3e980c1915e16fe6326bfda3d', 'editor', '2014-06-26 10:40:53'),
(3, 'Jamil Ahmad', 'jamil', '61243c7b9a4022cb3f8dc3106767ed12', 'user', '2014-06-26 10:41:28');


Kedua, buatlah sebuah file untuk mengoneksi antara scripting php dengan dbms dari mysql server dengan nama koneksi.php dan copy paste syntax yang ada dibawah ini.
<?php
mysql_connect('localhost','root','')or die(mysql_error());
mysql_select_db('testing')or die(mysql_error());
?>


Ketiga, buatlah sebuah file untuk mengisi data user atau register user untuk penyimpanan data user dari scripting php ke dbms dari mysql server sekaligus beri nama register.php dan copy paste syntax yang ada dibawah ini.
<form action="" method="post"/>
<p>
     <label>Nama Lengkap</label>
     <input type="text" name="nm"/>
</p>
<p>
     <label>Username</label>
     <input type="text" name="user"/>
</p>
<p>
     <label>Password</label>
     <input type="password" name="pass1"/>
</p>
<p>
     <label>Konfirmasi Password</label>
     <input type="password" name="pass2"/>
</p>
<p>
     <label>Type Member</label>
     <select name="type">
          <option value="user">User Biasa</option>
          <option value="editor">Editor</option>
          <option value="admin">Administrator</option>
     </select>
</p>
<p>
     <input type="submit" name="reg" value="Register"/>
     <a href="login.php">Login</a>
</p>
</form>
<?php
include "koneksi.php";
if(isset($_POST['reg'])){
     $nm=$_POST['nm'];
     $user=$_POST['user'];
     $pass1=$_POST['pass1'];
     $pass2=$_POST['pass2'];
     $type=$_POST['type'];
     $tgl=date('Y-m-d H:i:s');
     if($pass1==$pass2){
          $pass=md5($pass1);
          $hasil=mysql_query("insert into multiuser values('','$nm','$user','$pass','$type','$tgl')");
          if($hasil){
               echo '
               <script>
               var conn=confirm("Berhasil Register User, Apa mau lanjut ke Menu Login");
               if(conn==true){
                    window.location.assign("login.php");
               }
               </script>
               ';
          }
     }
}
?>


Keempat, buatlah sebuah file baru dengan nama login.php file ini untuk login user dan mengecek user lewat scripting php dengan menggunakan dbms dari mysql server dan copy paste syntax yang ada dibawah ini.
<form action="" method="post">
<p>
     <label>Username</label>
     <input type="text" name="username"/>
</p>
<p>
     <label>Password</label>
     <input type="password" name="password"/>
</p>
<p>
     <input type="submit" name="log" value="Login"/>
     <a href="register.php">Register</a>
</p>
</form>
<?php
include "koneksi.php";
if(isset($_POST['log'])){
     $user=$_POST['username'];
     $pass=md5($_POST['password']);
     $res=mysql_query("select * from multiuser where username='$user' and password='$pass'");
     $data=mysql_fetch_array($res);
     $nm=$data['nama_lengkap'];
     $name=$data['username'];
     $word=$data['password'];
     $type=$data['type_user'];
     if($user==$name && $pass==$word){
          if($type=="admin"){
               session_start();
               $_SESSION['nama_lengkap']=$nm;
               $_SESSION['username']=$name;
               $_SESSION['type_user']=$type;
               echo '<script>window.location.assign("index.php")</script>';
          } else if($type=="editor"){
               session_start();
               $_SESSION['nama_lengkap']=$nm;
               $_SESSION['username']=$name;
               $_SESSION['type_user']=$type;
               echo '<script>window.location.assign("index.php")</script>';
          } else{
               session_start();
               $_SESSION['nama_lengkap']=$nm;
               $_SESSION['username']=$name;
               $_SESSION['type_user']=$type;
               echo '<script>window.location.assign("index.php")</script>';
          }
     }
}
?>



Kelima, buatlah sebuah file untuk halaman setelah login atau halaman administrasi atau editor atau user biasa yang bernama index.php dan isi syntax dibawah ini.
<?php
include "koneksi.php";
session_start();
if(!isset($_SESSION['username'])){
     echo '<script>window.location.assign("login.php")</script>';
}
?>
<h4> hai <i><?php echo $_SESSION['nama_lengkap'] ?></i>. Selamat datang pada menu <i><?php echo $type=$_SESSION['type_user'] ?></i></h4>
<ol>
     <li>Home</li>
     <li>Download</li>
     <li>Article</li>
     <?php
     if($type=='editor'){
     ?>
     <li>Editor</li>
     <li>Visual</li>
     <li>Design</li>
     <?php
     }
     if($type=='admin'){
     ?>
     <li>Analis</li>
     <li>Controller</li>
     <li>Manajemen</li>
     <?php
     }
     ?>
     <li>About</li>
     <li><a href="logout.php">Logout</a></li>
</ol>

Keenam, ini adalah file yang terakhir, buatlah file baru untuk keluar dari login session dengan nama logout.php dan isikan syntax dibawah ini.
<?php
session_start();
echo '<script>window.location.assign("login.php")</script>';
session_destroy();
?>