Secara Umum, form login akan sangat dibutuhkan pada situs web jika kita hanya ingin orang-orang tertentu yang bisa melihat bahkan merubah konten pada website. Ini merupakan cara yang baik untuk menjaga data kita aman dari orang-orang yang tidak dikehendaki.
Tutorial cara membuat form login dengan PHP dan MySQL ini dilengkapi dengan session. Pada saat proses login berhasil, secara otomatis akan tercipta sebuah session yang berfungsi sebagai informasi pribadi klien yang tersimpan di web server untuk digunakan sebagai proses login.
Silahkan klik tombol download untuk mengunduh form login dengan PHP dan MySQL.
Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL
Konsep dalam cara membuat form login dengan php dan mysql adalah membuat halaman form login dengan HTML terlebih dahulu dan selanjutnya akan dilengkapi dengan skrip php untuk memeriksa data pengguna di database MySQL. Jika pengguna terdapat dalam database MySQL, maka PHP akan membuat session untuk pengguna tersebut dan sekaligus akan mengarahkan pada halaman web yang telah diproteksi.Ikuti Langkah-langkah dibawah ini untuk cara membuat form login sederhana dengan PHP dan database MySQL yang dilengkapi session sesuai konsep diatas.
Langkah 1: Membuat Tabel MySQL User/Pengguna
Untuk membuat database dan tabel, jalankan kode berikut di software MySQL Anda, bisa menggunakan phpMyAdmin atau software kesukaan saya HeidiSQL. Untuk lebih jelas tentang membuat database dan tabel MySQL dengan skrip PHP, silahkan kunjungi tutorial ” Cara Membuat Tabel dan Database MySQL di PHP “.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
-- Dumping database structure for tes_db
CREATE DATABASE IF NOT EXISTS `tes_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `tes_db`;
-- Dumping structure for table tes_db.karyawan
CREATE TABLE IF NOT EXISTS `karyawan` (
`id_karyawan` int(10) NOT NULL AUTO_INCREMENT,
`pass_karyawan` varchar(50) NOT NULL DEFAULT '0',
`user_karyawan` varchar(50) NOT NULL DEFAULT '0',
`nama_karyawan` varchar(50) DEFAULT NULL,
`alm_karyawan` varchar(50) DEFAULT NULL,
`gaji_karyawan` int(10) DEFAULT NULL,
`tgl_gabung` date DEFAULT NULL,
PRIMARY KEY (`id_karyawan`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
-- Dumping data for table tes_db.karyawan: ~10 rows (approximately)
INSERT IGNORE INTO `karyawan` (`id_karyawan`, `pass_karyawan`, `user_karyawan`, `nama_karyawan`, `alm_karyawan`, `gaji_karyawan`, `tgl_gabung`) VALUES
(1, '1234', 'admin', 'Admin Nyekrip', 'Website', 3000000, '2015-04-16'),
(2, '4321', 'staf', 'Staf Nyekrip', 'Server Web', 250000, '2015-04-16');
|
Langkah 2: Membuat Form Login HTML
Dalam skrip ini kita akan membuat form tempat untuk memasuk-kan username dan password. Ketik-kan skrip berikut untuk membuat Form login dengan skrip HTML yang terdiri dari kolom username, kolom password dan tombol submit. Simpan skrip berikut dalam file dengan namaindex.php
. Dalam tutorial ini kita menggunakan metode POST, untuk lebih memahami metode form HTML, ikuti tutorial ” Membuat Form HTML dg POST dan GET di PHP “.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
include('login.php'); // Memasuk-kan skrip Login
if(isset($_SESSION['login_user'])){
header("location: profile.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Nyekrip Form Login</title>
<!-- Skrip CSS -->
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div class="container">
<div class="main">
<form action="" method="post">
<h2>NYEKRIP.COM FORM LOGIN DENGAN PHP</h2><hr/>
<label>Username :</label>
<input id="name" name="username" placeholder="username" type="text">
<label>Password :</label>
<input id="password" name="password" placeholder="**********" type="password">
<input type="submit" name="submit" id="submit" value="Login">
</form>
</div>
</div>
</body>
</html>
|
Langkah 3: Membuat Skrip Login
Dalam skrip ini kita akan membuat skrip PHP yang bertugas untuk memulai sesi (session) dan memeriksa apakah username dan password yang diberikan terdapat dalam tabel karyawan, jika data tidak ditemukan akan menampilkan pesan ” Username atau Password belum terdaftar “. Ketik-kan skrip berikut dan simpan dalam file dengan namalogin.php
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
session_start(); // Memulai Session
$error=''; // Variabel untuk menyimpan pesan error
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is invalid";
}
else
{
// Variabel username dan password
$username=$_POST['username'];
$password=$_POST['password'];
// Membangun koneksi ke database
$connection = mysql_connect("localhost", "root", "");
// Mencegah MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
// Seleksi Database
$db = mysql_select_db("tes_db", $connection);
// SQL query untuk memeriksa apakah karyawan terdapat di database?
$query = mysql_query("select * from karyawan where pass_karyawan='$password' AND user_karyawan='$username'", $connection);
$rows = mysql_num_rows($query);
if ($rows == 1) {
$_SESSION['login_user']=$username; // Membuat Sesi/session
header("location: profile.php"); // Mengarahkan ke halaman profil
} else {
$error = "Username atau Password belum terdaftar";
}
mysql_close($connection); // Menutup koneksi
}
}
?>
|
Langkah 4 : Membuat Halaman Profil
Jika login telah berhasil, maka pengguna akan diarahkan langsung ke halaman profile yang berisi data pribadi user (lihat gambar halaman profil diatas). Dalam halaman ini juga dilengkapi dengan link logout untuk keluar dari halaman sekaligus menghapus session. Ketik-kan skrip berikut dan simpan dalam file dengan namaprofile.php
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
include('session.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Nyekrip Halaman Khusus</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="profile">
<b id="welcome">Selamat Datang : <i><?php echo $login_session; ?></i></b>
<b id="logout"><a href="logout.php">Log Out</a></b>
</div>
</body>
</html>
|
Langkah 5: Membuat Skrip Fungsi Session PHP
Skrip ini bertugas untuk mengambil data tentang user dan menampilkan-nya pada halaman profil. Ketik-kan skrip berikut dan simpan dalam file dengan namasession.php
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
// Membangun Koneksi dengan Server dengan nama server, user_id dan password sebagai parameter
$connection = mysql_connect("localhost", "root", "");
// Seleksi Database
$db = mysql_select_db("tes_db", $connection);
session_start();// Memulai Session
// Menyimpan Session
$user_check=$_SESSION['login_user'];
// Ambil nama karyawan berdasarkan username karyawan dengan mysql_fetch_assoc
$ses_sql=mysql_query("select nama_karyawan from karyawan where user_karyawan='$user_check'", $connection);
$row = mysql_fetch_assoc($ses_sql);
$login_session =$row['nama_karyawan'];
if(!isset($login_session)){
mysql_close($connection); // Menutup koneksi
header('Location: index.php'); // Mengarahkan ke Home Page
}
?>
|
Langkah 6: Membuat Skrip Fungsi Logout PHP
Skrip ini bertugas untuk menghapus semua sesi dan langsung mengarahkan ke halaman utama (index.php) tempat form login berada. Ketik-kan skrip berikut dan simpan dalam file dengan namalogout.php
.
1
2
3
4
5
6
7
|
<?php
session_start();
if(session_destroy()) // Menghapus Sessions
{
header("Location: index.php"); // Langsung mengarah ke Home index.php
}
?>
|
Langkah 7: Membuat Skrip CSS Untuk Style Form Login
Skrip CSS ini untuk memberikan dan mengatur style HTML pada halaman form login dan halaman profil. Ketik-kan skrip berikut dan simpan dalam file dengan namastyle.css
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
.container {
width: 50%;
margin: 0 auto;
}
h2{
background-color: #53bd84;
padding: 30px 35px;
margin: -10px -50px;
text-align:center;
color: #fff;
}
span{
display: block;
margin-bottom: 20px;
color: red;
}
.success{
display: block;
margin-top: 20px;
margin-bottom: 0;
font-size: 14px;
}
b{
color:green;
}
hr{
margin: 10px -50px;
border: 0;
border-top: 1px solid #ccc;
margin-bottom: 25px;
}
div.main{
width: 306px;
padding: 10px 50px 30px;
border: 2px solid gray;
font-family: raleway;
float:left;
margin-top:15px;
}
input[type=text]{
width: 96%;
height: 25px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
border: 2px solid #ccc;
color: #53bd84;
font-size: 16px;
}
input[type=password]{
width: 96%;
height: 25px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
border: 2px solid #ccc;
color: #53bd84;
font-size: 16px;
}
label{
color: #53bd84;
text-shadow: 0 1px 0 #fff;
font-size: 14px;
font-weight: bold;
}
input[type=submit]{
font-size: 16px;
background: linear-gradient(#53bd84 5%, #fff 100%);
color: #4E4D4B;
font-weight: bold;
cursor: pointer;
width: 100%;
padding: 10px 0;
outline:none;
}
#profile {
padding:50px;
border:1px solid grey;
font-size:20px;
background-color:#A2DED0;
}
#logout {
float:right;
padding:5px;
border:dashed 1px gray
}
a {
text-decoration:none;
color:#6495ed
}
i {
color:#6495ed
}
|
Setelah melakukan semua langkah cara membuat form login diatas, sekarang saatnya kita untuk mencoba form login dengan PHP dan MySQL yang dilengkapi session dengan mengetik-kan alamat ” http://localhost/nyekrip-form-login/index.php ” pada halaman browser.
Demikian tutorial cara membuat form login dengan PHP dan MySQL, jika terdapat langkah yang kurang dimengerti, silahkan kirim pertanyaan melalui kolom komentar dibawah ini. Terimakasih.
Tidak ada komentar:
Posting Komentar