Anda di halaman 1dari 17

PRAKTIKUM 3

LOGIN MULTI USER LEVEL

Adalah proses login yang memiliki validasi level dari seorang user saat login. Beberapa user dengan hak
akses yang berbeda bisa melakukan login pada 1 form login dan jika berhasil melakukan login, maka user
yang login tersebut akan diarahkan ke halaman dashboard nya masing-masing.

1. MEMBUAT DATABASE MULTI USER LEVEL

multi_user.sql
Kemudian menginput data 3 user, pada laman insert.
 Halaman yang perlu kita buat:
index.php
Style.css
Cek_login.php
Halaman_admin.php
Halaman_user1.php
Halaman_user2.php
Koneksi.php
Logout.php

KODE SQL lengkapnya :

-- phpMyAdmin SQL Dump


-- version 4.8.0.1
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: Oct 14, 2018 at 10:14 AM
-- Server version: 10.1.32-MariaDB
-- PHP Version: 5.6.36

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";


SET AUTOCOMMIT = 0;
START TRANSACTION;
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: `multi_user`
--
-- --------------------------------------------------------
--
-- Table structure for table `user`
--

CREATE TABLE `user` (


`id` int(11) NOT NULL,
`nama` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`level` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`id`, `nama`, `username`, `password`, `level`) VALUES


(1, 'Malas Ngoding', 'malasngoding', 'malasngoding123', 'admin'),
(2, 'Diki Alfarabi Hadi', 'diki', 'diki123', 'pegawai'),
(3, 'Jamaludin', 'jamaludin', 'jamaludin123', 'pengurus');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `user`
--
ALTER TABLE `user`
ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
COMMIT;

/*!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 */;
2. MEMBUAT FILE KONEKSI

koneksi.php

<?php
$koneksi =
mysqli_connect("localhost","root","","multi_user");
// Check connection
if (mysqli_connect_errno()){
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>

<?php
// cara mengakses MySQL menggunakan mysql extension:
$link = mysql_connect("localhost", "root", "qwerty");
mysql_select_db("universitas");
$result = mysql_query("SELECT * FROM mahasiswa");
$row = mysql_fetch_assoc($result);

// cara mengakses MySQL menggunakan mysqli extension:


$mysqli = new mysqli("localhost", "root", "qwerty",
"universitas");
$result = $mysqli->query("SELECT * FROM mahasiswa");
$row = $result->fetch_assoc();

// cara mengakses MySQL menggunakan PDO:


$pdo = new PDO('mysql:host=localhost;dbname=universitas',
'root', 'qwerty');
$statement = $pdo->query("SELECT * FROM mahasiswa");
$row = $statement->fetch(PDO::FETCH_ASSOC);
?>
3. MEMBUAT FILE INDEX ATAU LOGIN

index.php

<!DOCTYPE html>
<html>
<head>
<title>Membuat Login Multi User Level Dengan PHP dan MySQLi
</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<h1>Membuat Login Multi User Level Dengan PHP dan MySQLi


</h1>

<?php
if(isset($_GET['pesan'])){
if($_GET['pesan']=="gagal"){
echo "<div class='alert'>Username dan Password tidak
sesuai !</div>";
}
}
?>

<div class="kotak_login">
<p class="tulisan_login">Silahkan login</p>

<form action="cek_login.php" method="post">


<label>Username</label>
<input type="text" name="username"
class="form_login" placeholder="Username .."
required="required">
<label>Password</label>
<input type="password" name="password"
class="form_login" placeholder="Password .."
required="required">

<input type="submit" class="tombol_login"


value="LOGIN">

<br/>
<br/>
<center>
</center>
</form>

</div>

</body>
</html>

4. MENDESAIN FRONTEND

style.css

body{
font-family: sans-serif;
background: #ebf9fb;
}

h1{
text-align: center;
/*ketebalan font*/
font-weight: 300;
}

.tulisan_login{
text-align: center;
/*membuat semua huruf menjadi kapital*/
text-transform: uppercase;
}

.kotak_login{
width: 350px;
background: white;
/*meletakkan form ke tengah*/
margin: 80px auto;
padding: 30px 20px;
box-shadow: 0px 0px 100px 4px #d6d6d6;
}

label{
font-size: 11pt;
}

.form_login{
/*membuat lebar form penuh*/
box-sizing : border-box;
width: 100%;
padding: 10px;
font-size: 11pt;
margin-bottom: 20px;
}
.tombol_login{
background: #2aa7e2;
color: white;
font-size: 11pt;
width: 100%;
border: none;
border-radius: 3px;
padding: 10px 20px;
}

.link{
color: #232323;
text-decoration: none;
font-size: 10pt;
}

.alert{
background: #e44e4e;
color: white;
padding: 10px;
text-align: center;
border:1px solid #b32929;
}
5. MEMBUAT PROSES LOGIN

cek_login.php

<?php
// mengaktifkan session pada php
session_start();

// menghubungkan php dengan koneksi database


include 'koneksi.php';

// menangkap data yang dikirim dari form login


$username = $_POST['username'];
$password = $_POST['password'];

// menyeleksi data user dengan username dan password yang sesuai


$login = mysqli_query($koneksi,"select * from user where
username='$username' and password='$password'");
// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($login);

// cek apakah username dan password di temukan pada database


if($cek > 0){

$data = mysqli_fetch_assoc($login);

// cek jika user login sebagai admin


if($data['level']=="admin"){

// buat session login dan username


$_SESSION['username'] = $username;
$_SESSION['level'] = "admin";
// alihkan ke halaman dashboard admin
header("location:halaman_admin.php");

// cek jika user login sebagai pegawai


}else if($data['level']=="pegawai"){
// buat session login dan username
$_SESSION['username'] = $username;
$_SESSION['level'] = "pegawai";
// alihkan ke halaman dashboard pegawai
header("location:halaman_pegawai.php");

// cek jika user login sebagai pengurus


}else if($data['level']=="pengurus"){
// buat session login dan username
$_SESSION['username'] = $username;
$_SESSION['level'] = "pengurus";
// alihkan ke halaman dashboard pengurus
header("location:halaman_pengurus.php");

}else{

// alihkan ke halaman login kembali


header("location:index.php?pesan=gagal");
}

}else{
header("location:index.php?pesan=gagal");
}

?>

6. MEMBUAT PROSES LOGOUT

<?php
// mengaktifkan session php
session_start();

// menghapus semua session


session_destroy();

// mengalihkan halaman ke halaman login


header("location:index.php");
?>
7. MEMBUAT HALAMAN ADMIN DAN USER

halaman_admin.php

<!DOCTYPE html>
<html>
<head>
<title>Halaman admin</title>
</head>
<body>
<?php
session_start();

// cek apakah yang mengakses halaman ini sudah login


if($_SESSION['level']==""){
header("location:index.php?pesan=gagal");
}

?>
<h1>Halaman Admin</h1>

<p>Halo <b><?php echo $_SESSION['username']; ?></b> Anda


telah login sebagai <b><?php echo
$_SESSION['level']; ?></b>.</p>
<a href="logout.php">LOGOUT</a>

<br/>
<br/>

</body>
</html>
halaman_pegawai.php

<!DOCTYPE html>
<html>
<head>
<title>Halaman Pegawai</title>
</head>
<body>
<?php
session_start();

// cek apakah yang mengakses halaman ini sudah login


if($_SESSION['level']==""){
header("location:index.php?pesan=gagal");
}

?>
<h1>Halaman Pegawai</h1>

<p>Halo <b><?php echo $_SESSION['username']; ?></b> Anda


telah login sebagai <b><?php echo
$_SESSION['level']; ?></b>.</p>
<a href="logout.php">LOGOUT</a>

<br/>
<br/>

</body>
</html>
halaman_pengurus.php

<!DOCTYPE html>
<html>
<head>
<title>Halaman Pengurus </title>
</head>
<body>
<?php
session_start();

// cek apakah yang mengakses halaman ini sudah login


if($_SESSION['level']==""){
header("location:index.php?pesan=gagal");
}

?>
<h1>Halaman Pengurus</h1>

<p>Halo <b><?php echo $_SESSION['username']; ?></b> Anda telah


login sebagai <b><?php echo $_SESSION['level']; ?></b>.</p>
<a href="logout.php">LOGOUT</a>

<br/>
<br/>

</body>
</html>
TUGAS PRAKTIKUM 3

1. Modifikasi Web statis yang telah dibuat pada pertemuan sebelumnya, tambahkan fitur login multi level
user sesuai dengan kebutuhan web anda !

2. Ubah tampilan 3 halaman masing-masing user sesuai kebutuhan !

3. Jelaskan perbedaan dari MySQLi extension dan PDO (PHP Data Objects) !

Anda mungkin juga menyukai