Membuat login multiuser di PHP dan MySql Dengan Mudah


Membuat login multiuser di PHP dan MySql - Mungkin bagi yang sudah biasa bergelut di dunia pemrograman baik itu php atau yang lainnya pasti sudah tidak asing lagi dengan yang namanya login multi user.

Tapi tidak jika sobat masih baru dalam dunia coding, namun di bawah ini saya akan memberikan cara sederhana untuk membuat login multi user yang harapan saya bisa dikembangkan sendiri.

Pengertian Login Mutltiuser

Login adalah proses untuk mengakses komputer dengan memasukan identitas dari akun pengguna dan kata sandi guna mendapatkan hak akses menggunakan sumber daya komputer tujuan

Nah dari pengertian diatas login suatu kegiatan mengakses computer tujuan dengan menggunakan user dan password..dan saya sudah pernah membahas pada postingan sebelumnya Tutorial membuat formlogin dengan php dan mysql tentang single login..

Sobat pasti pernah kan menggunakan suatu aplikasi, misalnya aplikasi online sistem akademik kampus..
Baca: Belajar Sql injection untuk membobol form login
Tanpa sadar sadari sobat adalah login sebagai mahasiswa dan hak akses sobat kedalam aplikasi sudah di atur didalam database hanya bisa mengakses menu mahasiswa saja..

Lain halnya jika soobat terdaftar didalam sistem sebagai admin, ketika login sobat pasti akan bisa mengakses semua menu yang ada didalam aplikasi akademik kampus tersebut..

Dan hal itu memang sudah di atur…

Pada kesempatan ini saya akan bagi ilmu tentang bagaimana cara membuat login multiuser di PHP dan MySql.

Tutorial yang saya bahas sangat sederhana dan di harapkan bisa cepat di pahami oleh pemula..

oiyaaa sekedar informasi, saya mnggunakan local server xampp untuk tutorial ini dan jangan lupa di start..

Pertama buat dulu database di Mysql, berikut script databasenya

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 24 Mar 2017 pada 03.51
-- Versi Server: 10.1.9-MariaDB
-- PHP Version: 5.6.15

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `login`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `admin`
--

CREATE TABLE `admin` (
  `ID` int(3) NOT NULL,
  `nama` varchar(30) NOT NULL,
  `user` varchar(20) NOT NULL,
  `password` varchar(20) NOT NULL,
  `email` varchar(30) NOT NULL,
  `akses` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `admin`
--

INSERT INTO `admin` (`ID`, `nama`, `user`, `password`, `email`, `akses`) VALUES
(1, 'Nama Anda', 'admin', 'admin', 'email@gmail.com', 'administrator'),
(3, 'rudi', 'rudi', 'aa', 'as@gmail.com', 'user');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `admin`
--
ALTER TABLE `admin`
  ADD PRIMARY KEY (`ID`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `admin`
--
ALTER TABLE `admin`
  MODIFY `ID` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Setelah database selesai silahkan buat folder di htdoc dengan nama tutorlogin, dan taruh semua file yang akan kita buat didalamnya..
Lanjutkan membuat file index.php, file index ini akan tampil pertama kali ketika website diload yang akan menampilkan halaman login
<style>
/* script untuk men design tampilan  */ 
#login{
 margin-top:50px;
 margin-left:500px;
 margin-bottom:10px;
 float:left;
 width:600px;
 height: 150px;
 border:1px solid #cccccc;
}

#login table{
 width:600px;
 height: 150px;
 box-shadow:   5px 10px 5px #ccc;
 -webkit-box-shadow: 5px 10px 5px #ccc;
 -moz-box-shadow:  5px 10px 5px #ccc;

}

#login table th{
 background:#353535;
 color:#ffffff;
}

#login table td{
 padding-left:20px;
}
</style>
<div id="login">
<form method="post" action="ceklog.php">
<table>
 <tr>
  <th colspan="3">Login</th>
 <tr>
  <td>User</td>
  <td>
  <input type="text" name="user" placeholder="User" autofocus required/>
  </td>
 </tr>
 <tr>
  <td>Password</td>
  <td>
  <input type="password" name="pass" placeholder="Password" autofocus required/>
  </td>
 </tr>
 <tr>
    
 <td colspan="3" align="center">
 <button name="login" class="btn btn-small btn-primary" type="submit" ><i class="icon-ok icon-white"></i><strong>Login</strong></button> 
 <button type="reset" class="btn btn-small btn-danger"><i class="icon-remove icon-white"></i><strong>Reset</strong></button>
 </td>
 </tr>
 </tr>
</table>
</form>
</div>

Coba panggil script tadi dengan menuliskan url di browser localhost/tutorlogin..lihat gambar dibawah

Copy script dibawah untuk membaut pengecekan user dan password, apakah data yang di masukan sesuai atau tidak…buat file ceklog.php

<?php 
session_start();
mysql_connect("localhost","root","");
mysql_select_db("login");//koneksi DB
 function anti_injection($data){ //membuat pencegahan Sql injection
  $filter = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
  return $filter;
}
$user = anti_injection($_POST['user']);//ambil data inputan didalam form login ...anti_injecton adalah fungsi pencegahan Sql injection
$pass = anti_injection($_POST['pass']);
if(isset($_POST['login'])){ //jika tombol login form login diklik maka script dibawah akan berjalan

 if (!ctype_alnum($user) OR !ctype_alnum($pass)){//percabangan jika terjadi Sql injection
 //pesan error
 echo"<script>alert('SQL Injection Terdeteksi');window.location.href='index.php';</script>";
}else{//script dibawah ini akan berjalan jika tidak terjadi error Sql injectio
  //cek database
 $query=mysql_query("select * from admin WHERE user='$user' and password='$pass'")or die(mysql_error());
 $ambil=mysql_fetch_array($query);
 $cek=mysql_num_rows($query);
 extract($ambil);
 if($cek > 0){
  //$_SESSION['ID'] = ID di isi terserah,,,$ID = harus sama dengan nama field database
  $_SESSION['IDuser'] = $ID;
  $_SESSION['Nama'] = $nama;
  $_SESSION['User']=$user;
  $_SESSION['Password']=$password;
  $_SESSION['Email']=$email;
  $_SESSION['Akses']=$akses;
  //mengalihkan halaman jika login berhasil
  //login sebagai admin
  if($akses == "administrator"){
   echo "<meta http-equiv='refresh' content='0; url=admin.php'>";
   //jika tidak sebagai admin maka tidak ada yang lain login sebagai user  
  }else{
   echo "<meta http-equiv='refresh' content='0; url=kariawan.php'>";  
  }
  
 }else{//jika user dan password tidak terdaftar di database
 echo"<script>alert('Anda tidak terdaftar ke dalam sistem');window.location.href='formlogin.php';</script>";
 } 
} 
}
?>

Setelah itu buat file halaman admin.php untuk menampilkan halaman ketika user yang login sebagai admin

<?php
//melindungi halaman, hanya session yang sudah login yang bisa masuk
session_start();
$login=$_SESSION['Akses'];
if(!$login){
 echo "<meta http-equiv='refresh' content='0; url=logout.php'>";
}
?>
<style>
/* script untuk men design tampilan  */ 
#loginsukses{
 margin-top:50px;
 margin-left:600px;
 margin-bottom:50px;
 float:left;
 width:500px;
 height: 200px;
 border:1px solid #cccccc;
}

#loginsukses table{
 width:500px;
 height: 200px;
 box-shadow:   5px 10px 5px #ccc;
 -webkit-box-shadow: 5px 10px 5px #ccc;
 -moz-box-shadow:  5px 10px 5px #ccc;
 
}

#loginsukses table th{
 background:#353535;
 color:#ffffff;
}

#loginsukses table tr td{
 padding-left:10px;
 width: 1px;
}
</style>
<script>
 function logout(){
  if (confirm("anda akan keluar?")){
   window.location.href="logout.php";
  }
 }
</script>

<div id="loginsukses">
 <table align="center">
  <tr>
   <th colspan="3">
    Informasi Login Admin
   </th>
  </tr>
   <tr>
   <td>
    ID
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['IDuser']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Nama
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Nama']; ?>
   </td>
  </tr>
  <tr>
   <td>
    User
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['User']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Password
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Password']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Email
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Email']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Akses
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Akses']; ?>
   </td>
  </tr>
  <tr>
   <td><a href="javascript:logout()">Logout</a></td>
  </tr>
 </table>
</div>

Untuk halaman kariawan.php

<?php
//melindungi halaman, hanya session yang sudah login yang bisa masuk
session_start();
$login=$_SESSION['Akses'];
if(!$login){
 echo "<meta http-equiv='refresh' content='0; url=logout.php'>";
}
?>
<style>
/* script untuk men design tampilan  */ 
#loginsukses{
 margin-top:50px;
 margin-left:600px;
 margin-bottom:50px;
 float:left;
 width:500px;
 height: 200px;
 border:1px solid #cccccc;
}

#loginsukses table{
 width:500px;
 height: 200px;
 box-shadow:   5px 10px 5px #ccc;
 -webkit-box-shadow: 5px 10px 5px #ccc;
 -moz-box-shadow:  5px 10px 5px #ccc;
 
}

#loginsukses table th{
 background:#353535;
 color:#ffffff;
}

#loginsukses table tr td{
 padding-left:10px;
 width: 1px;
}
</style>
<script>
 function logout(){
  if (confirm("anda akan keluar?")){
   window.location.href="logout.php";
  }
 }
</script>
<div id="loginsukses">
 <table align="center">
  <tr>
   <th colspan="3">
    Informasi Login Kariawan
   </th>
  </tr>
   <tr>
   <td>
    ID
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['IDuser']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Nama
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Nama']; ?>
   </td>
  </tr>
  <tr>
   <td>
    User
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['User']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Password
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Password']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Email
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Email']; ?>
   </td>
  </tr>
  <tr>
   <td>
    Akses
   </td>
   <td>
    :
   </td>
   <td>
    <?php echo $_SESSION['Akses']; ?>
   </td>
  </tr>
  <tr>
   <td><a href="javascript:logout()">Logout</a></td>
  </tr>
 </table>
</div>

setelah mengikuti langkah di atas, mari kita coba run hasilnya..
berikut tampilan setelah login...

Jangan lupa juga copy script di bawah ini untuk menghapus semua session ketika user logout…

membuat file logout.php

<?php
session_start();
session_destroy();
header("location:index.php");
?>

Jika semua tahapan sobat lakukan dengan sabar dan benar, maka tutologin ini akan berjalan 100% berhasil..oke sekian dulu untuk tutorial cara membuat login multiuser di PHP dan MySql…
Semoga bermamfaat bagi pembaca semua dan tutorialnya berhasil

Reaksi:
Share this with short URL:

Artikel Terkait Lainnya:

How to style text in Disqus comments:
  • To write a bold letter please use <strong></strong> or <b></b>.
  • To write a italic letter please use <em></em> or <i></i>.
  • To write a underline letter please use <u></u>.
  • To write a strikethrought letter please use <strike></strike>.
  • To write HTML code, please use <code></code> or <pre></pre> or <pre><code></code></pre>.
    And use parse tool below to easy get the style.
Show Parser Hide Parser