Membuat Login Multi User Dengan PHP MySQL

Membuat Login Multi User Dengan PHP MySQL


السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

 

Apa kabar semuanya  ? :D
semoga sehat semua yah, dan masih semangat untuk belajar coding nya heheh  ^_^
Pada kesempatan kali in saya tidak akan membahas tutorial mengenai CSS Melainkan PHP  dan MySQL.
Pada tutorial kali ini saya masih menggunakan PHP Native dan MySQL Sebagai databasenya.
Tutorial yang akan saya bahas disini yaitu Cara Membuat Login Multi User Dengan PHP MySQL
Tutorial ini masih sangat sederhana sehinga sangat mudah di pahami oleh pemula.
keuntungan dari form login ini yaitu dapat mengakses beberapa user atau biasa di sebut multi user, 
Baiklah tidak usah berlama-lama lagi, silahkan ikuti langkah-langkah di bawah ini dengan benar.

1. Membuat Database
Silahkan anda buat database di phpmyadmin dengan nama bebas yaitu sesuka anda, namun disini saya membuat database bernama 'web' dan membuat tabel bernama 'tb_login' untuk lebih cepat silahkan buat databse dengan script di bawah ini

-- phpMyAdmin SQL Dump
-- version 4.2.11
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Oct 02, 2015 at 09:45 AM
-- Server version: 5.6.21
-- PHP Version: 5.6.3

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 utf8 */;

--
-- Database: `web`
--

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

--
-- Table structure for table `tb_login`
--

CREATE TABLE IF NOT EXISTS `tb_login` (
`kode_user` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `level` enum('admin','operator') NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tb_login`
--

INSERT INTO `tb_login` (`kode_user`, `username`, `password`, `nama`, `level`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Chairul Anwar', 'admin'),
(2, 'operator', '4b583376b2767b923c3e1da60d10de59', 'Bayu Setiawan', 'operator');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `tb_login`
--
ALTER TABLE `tb_login`
 ADD PRIMARY KEY (`kode_user`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `tb_login`
--
ALTER TABLE `tb_login`
MODIFY `kode_user` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
/*!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 */; 

Jika database sudah di buat.
Silahkan ikuti langkah selanjutnya.

2. Membuat koneksi.php
Langkah yang ke 2 yaitu membuat file koneksi.php silahkan ketikkan script berikut ini :

<?php
 
$host_name = "localhost"; 
$user_name = "root";
$password = "";
$database = "web"; //sesuaikan dengan database anda

mysql_connect($host_name, $user_name, $password);
mysql_select_db($database);
 
?> 

Silahkan anda tes dengan menjalankan koneksi.php apabila koneksi berhasil, maka layar pada browser akan blank.
Silahkan Ikuti langkah selanjutnya .

3. Membuat Tampilan Form Login
Disini saya membuat tampilan form login di dalam file login.php disini saya tidak terlalu fokus pada tampilan makanya saya buat apa adanya, pada script ini sudah saya lengkapi dengan Restrict Access To Page, artinya jika kita sudah masuk ke halaman index.php maka kita tidak bisa kembali ke halaman ini atau ke halaman login.php, untuk lebih jelasnya.
Silahkan ketikkan script di bawah ini .

<?php  
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi

if (@$_SESSION['admin'] || @$_SESSION['operator']) { //apabila session admin ataupun operator sudah ada maka
 // langsung menuju kehalaman index.php
    header("location: index.php");
    //jika tidak ada
} else {
 // menuju ke halaman login di bawah ini
?>

<html>
<head>
 <title>Login</title>
</head>
<body>
 <h1>LOGIN MULTI USER</h1>
 <table>
  <form action="proses.php" method="post">
 <tr>
  <td>Username</td>
  <td><input type="text" name="user" /></td>
 </tr>
 <tr>
  <td>Password</td>
  <td><input type="password" name="pass" /></td>
 </tr>
 <tr>
  <td></td>
  <td><input type="submit" value="Masuk" name="login" /></td>
 </tr>
  </form>
 </table>
</body>
</html>

<?php 
} 
?>

coba anda jalankan file login.php maka akan menghasilkan seperti ini
jika sudah menghasilkan gambar seperti diatas silahkan ikuti langkah selanjutnya

2. Membuat Proses.php
ya benar langkah selanjutnya adalah membuat file php bernama proses.php di dalam proses ini saya hanya menggunakan session untuk mengetahui user yang login, untuk lebih jelasnya
Silahkan ketik script di bawah ini

<?php  
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi

?>

 <?php
        $user = @$_POST['user']; // variabel user untuk user
        $pass = @$_POST['pass']; // variabel pass untuk pass
        $login = @$_POST['login']; // variabel login untuk login
        
        if($login) { // jika login di klik
         if($user == "" || $pass == "" ) { // dan jika text user dan pass masih kosong
    ?> 
        <!-- muncul peringatan dari javascript -->
        <script type="text/javascript">alert("Username atau password masih kosong"); window.location.href="login.php"</script> <?php
        } 
        //jika tidak kosong
        else { 
        // menuliskan query mysql dimana username = '$user' dan password = $ pass yang sudah di beri md5
        $sql = mysql_query("select * from tb_login where username = '$user' and password = md5('$pass') ") or die(mysql_error());
        //menjadikan data sebagai array
        $data = mysql_fetch_array($sql);
        //untuk mendapatkan jumlah baris pada database
        $cek = mysql_num_rows($sql);
        //jika kode user lebih sama dengan 1
        if($cek >= 1) {
         //dan jika levelnya admin
         if($data['level'] == "admin") {
             @$_SESSION['admin'] = $data['kode_user'];
              // maka menuju ke halaman index.php
              header("location: index.php");
            //dan jika levelnya operator
            } else if($data['level'] == "operator") {
             @$_SESSION['operator'] = $data['kode_user'];
              // maka menuju ke halaman index.php
              header("location: index.php");
           }
            //jika tidak
        }else {
           ?> 
          <!-- muncul peringatan kalau login gagal dan langsung kembali ke halaman login.php-->
          <script type="text/javascript">alert("Login Gagal ."); window.location.href="login.php"</script> <?php
            }
            }
      }
 ?>

mohon maaf apabila scriptnya terlihat tidak rapi :D
sebelum anda mencoba script di atas ada baiknya ikuti langkah selanjutnya :D

3.Membuat file index.php
file index disini berfungsi apabila user sudah login dan menuju ke halaman index, halaman index ini di lengkapi dengan cara menampilkan nama si user, dan juga di lengkapi Restrict Access To Page yang artinya sama dengan login.php tadi yaitu si user idak bisa masuk kehalaman index.php apabila belum login, dan apabila sudah login si user tidak bisa keblai kehalaman login.php
untuk lebih jelasnya silahkan anda ketik script berikut ini :

<?php
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi

if(@$_SESSION['admin'] || @$_SESSION['operator']) { // jika sudah ada session admin atau session operator, maka ke halaman index

?>

<?php 

 if(@$_SESSION['admin']) { //apabila sessionnya admin
  $userlogin = @$_SESSION['admin']; 

 } else if(@$_SESSION['operator']) { //apabila sessionnya admin
  $userlogin = @$_SESSION['operator'];
 }

 // menuliskan query mysql dimana kode_user = $userlogin
 // yaitu session pada script di atas
 $sql = mysql_query("select * from tb_login where kode_user = '$userlogin'") or die(mysql_error());
 
 //menjadikan data sebagai arrray
 $data = mysql_fetch_array($sql);
?>
     <!--Menampilkan nama berdasarkan
     user yang login atau session-->
<h1>Selamat Datang <?php echo $data['nama']; ?></h1><br />

<!--Menuju halaman logout/keluar-->
<a href="logout.php">Keluar</a>

<?php
}else {
  header("location: login.php"); 
  //jika tidak maka kembali ke halaman login.php

} 
?>

Coba Anda jalankan script login.php yang sudah kita buat sebelumnya dan coba isikan username dan password 'admin'  dan apabila admin yang login maka akan menghasilkan nama dari admin tersebut dan apa bila operator yang login maka nama operatorlah yang  akan tertampil silahkan lihat gambar agar lebih jelas .


Nah agar si user bisa logout atau keluar silahkan ikuti langkah selanjutnya

4. Membuat file logout.php
Silahkan anda buat file php bernama logout.php lalu ketikkan script di bawah ini:

<?php
@session_start(); // memulai session

session_destroy(); // menghancurkan session

header("location: login.php"); //kembali ke halaman login.php
?>

silahkan anda coba login dan coba anda klik keluar, maka otomatis akan tampil halaman login lagi :D
selamat anda sudah berhail membuat login multi user :D
untuk penjelasan script sudah saya jadikan sebagai komentar pada script diatas. .

Akhirnya kelar juga nih tutorial hehe ^_^
Demikianlah Cara Membuat Login Multi User Dengan PHP MySQL, mudah bukan ? :D
Silahkan anda kembangkan sesuai kebutuhan anda.
Mungkin itu saja yang dapat saya sampaikan kurang lebihnya mohon maaf :D
Semoga apa yang saya sampaikan disini dapat bermanfaat bagi anda semua :D




وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ


SHARE THIS

Author:

Previous Post
Next Post
5 October 2015 at 07:59

Mantab, bermanfaat sekali artikelnya gan, (y)

Reply
avatar
Anonymous
5 October 2015 at 09:09

Saran ane mending jangan di auto refresh gan blognya, apa lagi ini kan blog tutorial.

Reply
avatar
5 October 2015 at 17:30

Lanjut gan :)

Nitip www.parsumbulweb.com

Reply
avatar
6 October 2015 at 06:26

bagus gan chairul,bikin login ternyata mudah ya.nice post

Reply
avatar
7 October 2015 at 11:17

bagus artikelnya, sangat bermanfaat....
ilmu-computer.com

Reply
avatar
8 October 2015 at 13:02

masih belum paham bahasa pemograman. masih perlu banyak ilmu. btw thanks gan udah share ilmunya :)

Reply
avatar
10 October 2015 at 17:52

nice info gann :D
ini harus di website yah ?? :D

Reply
avatar
18 March 2016 at 12:57

cara memasukan ke websetnya dimana

Reply
avatar
25 May 2016 at 12:50

Bagus sekali mantap, ternyata ada mastah yansyah jg, xixxi....wwww.slaranesia.com

Reply
avatar
20 June 2016 at 12:33

kenapa gagl login trus ya gan ?

Reply
avatar
10 August 2016 at 07:53

Iy Gan,kok gagal login terus.,padahal kan udh btul..,????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Reply
avatar
Rdk
24 November 2016 at 10:59

terima kasih gan, artikelnya sangat mudah dipahami, buat yang belum bisa login atauu ada kendala coba download source code website

Reply
avatar
26 November 2016 at 13:43

gan, misalnya kalo mau buat masuk ke halaman akun user itu sendiri gmn ya? jadi nama halamannya bukan localhost atau http://.../index.php buat admin/operator, biar buat khusus itu akunnya sendiri localhost atau http://.../(nama user itu) ,,itu gmn ya gan?

Reply
avatar
31 December 2016 at 00:29

asalamualaikum gan makasih banget turorialnya sangat berguna sekali,nah saya udah sukses buat login nya nah terus mau saya kembangin lagi dengan menambahkan form register nah kalo buat simpen tipe data enumnya ke database gimana ya gan source code ane INSERT INTO tb_login VALUES('$level');

Reply
avatar
5 January 2017 at 04:09

kalo mau buat form register, pada formnya di buat pake option select aja mas, jadi nanti si user bisa pilih mau daftar sebagai apa, untuk querynya ya sama aja

("INSERT INTO tb_user VALUES('$level')")

Reply
avatar
25 January 2017 at 13:27

gan, berarti username nama passwordnya apa gan? ane coba di CRUD ane login gagal mulu gan

Reply
avatar
25 January 2017 at 13:29

ane dh nyoba username : admin password : admin ttp enggak bisa gan. gmn ya?

Reply
avatar
8 February 2017 at 19:49

Pesan errornya seperti apa ?

Reply
avatar
23 August 2017 at 19:29

gan username sama passnya apa? kok ane gagal login terus

Reply
avatar
18 December 2017 at 20:35

Thankyouuuuu banget masssss, dari kemarin nyariin skrip buat login mahasiswa yang form selanjutnya bisa menampilkan nim nya dan buat kepentingan lainnya juga, dgn skrip ini ak bisa develop sesuai harapan :(( makasiiii

Reply
avatar
26 June 2019 at 13:20

tutorial legend ni udah lama saya coba dulu ya.

Reply
avatar