Professional Documents
Culture Documents
dibayangkan,pertama, kita buat dulu database, misal dengan nama tutorial, lalu, kita buat table
login di dalamnya, yang field-field-nya adalah username dan password.
nah, ini script untuk pas waktu loginnya, simpan dengan nama index.php : <form name=”form1″
method=”post” action=”loginsinggah.php”>
<tr>
</tr>
<tr>
<td>Username</td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</form>
berikut sintax loginsinggah.php (digunakan untuk cek apakah username dan password sudah
dimasukkan dengan benar, jika benar, maka akan menuju halaman utama, jika tidak akan
kembali ke halaman login) :
<?
session_start();$server = “localhost”; //ganti sesuai server Anda
$rowcount = mysql_num_rows($login);
if ($rowcount == 1) {
$_SESSION[‘username’] = $_POST[‘username’];
header(“Location: halaman_utama.php”);
else
header(“Location:./index.php”);
?>
setelah itu, kita buat halaman utama(halaman_utama.php), jika user tidak login dulu,maka akan
redirect ke halaman login, berikut syntax-nya :
<?
session_start();
if (!isset($_SESSION[‘username’])){
header(“Location:./index.php”);
untuk keluar dari halaman utama, kita buat link untuk logout yang mengarah ke logout.php,
berikut syntax logout.php :
<? session_start();
unset($_SESSION[‘username’]);
session_destroy();
header(“Location: ./index.php”);
?>
****************************************************************
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.
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 “.
Skrip MySQL
2
3
10
11
12
13
14
15
16
17
18
19
20
21
CREATE DATABASE IF NOT EXISTS `tes_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `tes_db`;
-- Dumping structure for table tes_db.karyawan
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 nama
index.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 “.
Skrip HTML
1
2
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
if(isset($_SESSION['login_user'])){
header("location: profile.php");
?>
<!DOCTYPE html>
<html>
<head>
<body>
<div class="container">
<div class="main">
<label>Username :</label>
<label>Password :</label>
</form>
</div>
</div>
</body>
</html>
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 nama login.php.
Skrip PHP
1
2
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
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
else
$username=$_POST['username'];
$password=$_POST['password'];
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
// Seleksi Database
$rows = mysql_num_rows($query);
if ($rows == 1) {
} else {
?>
Cara_Membuat_Form_Login_Dengan_PHP_MySQL_halaman_profil_Nyekrip
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 nama profile.php.
Skrip PHP
10
11
12
13
14
15
16
<?php
include('session.php');
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="profile">
</div>
</body>
</html>
Skrip ini bertugas untuk mengambil data tentang user dan menampilkan-nya pada halaman
profil. Ketik-kan skrip berikut dan simpan dalam file dengan nama session.php.
Skrip PHP
9
10
11
12
13
14
15
16
17
<?php
// Membangun Koneksi dengan Server dengan nama server, user_id dan password sebagai
parameter
// Seleksi Database
// Menyimpan Session
$user_check=$_SESSION['login_user'];
$row = mysql_fetch_assoc($ses_sql);
$login_session =$row['nama_karyawan'];
if(!isset($login_session)){
?>
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
nama logout.php.
Skrip PHP
<?php
session_start();
?>
Skrip CSS
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;
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{
border: 0;
margin-bottom: 25px;
div.main{
width: 306px;
font-family: raleway;
float:left;
margin-top:15px;
}
input[type=text]{
width: 96%;
height: 25px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
color: #53bd84;
font-size: 16px;
input[type=password]{
width: 96%;
height: 25px;
padding: 5px;
margin-bottom: 25px;
margin-top: 5px;
color: #53bd84;
font-size: 16px;
label{
color: #53bd84;
font-size: 14px;
font-weight: bold;
input[type=submit]{
font-size: 16px;
color: #4E4D4B;
font-weight: bold;
cursor: pointer;
width: 100%;
padding: 10px 0;
outline:none;
#profile {
padding:50px;
font-size:20px;
background-color:#A2DED0;
#logout {
float:right;
padding:5px;
a{
text-decoration:none;
color:#6495ed
i{
color:#6495ed
Simpan semua file HTML, PHP dan CSS dalam satu folder bernama ” nyekrip-form-login ” dan
letakkan folder tersebut dalam folder htdocs. Folder htdocs terletak dalam folder XAMPP, dalam
tutorial ini kami menggunakan XAMPP sebagai web server. Jika anda juga ingin memakai XAMPP,
ikuti tutorial ” Cara Install XAMPP Web Server di Windows “.
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.
Kurang lebih isi dari admin-loader.php ini sama dengan loader.php pada direktori main, file itulah
yang menopang sekaligus memanggil file.php yang dibutuhkan.
Berikut skripnya :
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
<?php
if (!defined('ACCESS')) {
// memulai session
session_start();
if (!file_exists('./../config.php')) {
require './../config.php';
// logout function
session_destroy();
header('location:'.$domain.'admin/login.php');
exit();
/**
* Definisi direktori
*/
if ($db->connect_error) {
die($db->connect_error);
?>
categories.php
file ini adalah halaman untuk memanagement category dalam website yang kita buat. baik
untuk menambah, menghapus atau merubah suatu kategori.
<?php
<p>Halaman Categories</p>
check-login.php
check-login.php adalah file yang bertanggung jawab untuk memvalidasi username dan password
user yang hendak login ke dalam halaman admin dari website kita.
Berikut skripnya :
7
8
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
<?php
define('ACCESS','OPEN');
require 'admin-loader.php';
$username = $db->escape_string($_POST['username']);
$password = $db->escape_string($_POST['password']);
// exit();
$sql = "SELECT
username,
level_user
FROM
users
WHERE
(email='$username' OR username='$username')
AND
password='$password'
LIMIT 1";
$query = $db->query($sql);
if (!$query) {
die($db->error);
if ($query->num_rows == 1) {
$result = $query->fetch_assoc();
//session register
$_SESSION['user_login'] = $result['username'];
$_SESSION['level_user'] = $result['level_user'];
header('location:'.$domain.'admin/dashboard.php');
} else {
header('location:'.$domain.'admin/login.php?error=salah');
} else {
header('location:'.$domain.'admin/login.php');
?>
*revisi pada tutorial php tentang cara membuat website, isi file functions.php belum
ditambahkan
functions.php
file yang berisi sekumpulan fungsi yang bertujuan untuk memudahkan kita, dalam kasus form
login ini kita akan membuat fungsi is_login() untuk mengetahui user sudah login atau belum dan
is_admin() untuk mengecheck dia admin atau bukan. berikut kodenya :
<?php /** * Kumpulan Fungsi */ $domain = trim($domain, '/') . '/'; /** * is_login() untuk
mengecheck apakah user sudah login atau belum * @return boolean [true | false] */ function
is_login() { if (isset($_SESSION['user_login'])) { return true; } return false; } /** * [is_admin Check
Apakah Admin Tau Bukan] * @return boolean [true | false] */ function is_admin() { if
(isset($_SESSION['level_user']) && $_SESSION['level_user'] == 'admin' ) { return true; } return
false; }
4
5
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
/**
* Kumpulan Fungsi
*/
/**
*/
function is_login()
if (isset($_SESSION['user_login'])) {
return true;
return false;
}
/**
*/
function is_admin()
if (isset($_SESSION['level_user']) &&
$_SESSION['level_user'] == 'admin'
){
return true;
return false;
comments.php
file ini adalah halaman yang akan kita gunakan untuk memanagement komentar yang masuk
kedalam website kita.
<?php
<h1>Hallo <?=$_SESSION['user_login'];?></h1>
<p>Halaman Komentar</p>
dashboard.php
adalah halaman short-cut untuk menampilkan potongan informasi dari keseluruhan menu yang
tertanam dalam website yang kita buat. sementara kodenya sebagai berikut :
4
5
<?php
<h1>Hallo <?=$_SESSION['user_login'];?></h1>
footer.php
<?php
// hindari akses langsung ke file ini
if (!defined('ACCESS')) {
}?>
<p>© <?=date('Y');?></p>
header.php
header.php adalah bagian dari template halaman admin dari website seperti footer.php
10
11
12
<?php
define('ACCESS','OPEN');
require 'admin-loader.php';
header('location:login.php');
exit();
?>
<title>Halaman Administrator</title>
index.php
index.php adalah file yang pertama kali di akses ketika halaman admin dibuka dan user akan
diarahkan kehalaman dashboard.php terlebih dahulu, berikut skrip phpnya :
<?php // definisi variable constant "ACCESS" untuk hindari akses langsung // pada file file
tertentu. define('ACCESS','OPEN'); // file admin-loader.php if (!
file_exists(dirname(__FILE__).'/admin-loader.php')) { die('File admin-loader Tidak ada'); } //
sisipkan file loader.php header('location:dashboard.php'); exit(); ?>
6
7
10
11
12
<?php
define('ACCESS','OPEN');
// file admin-loader.php
header('location:dashboard.php');
exit();
?>
login.php
login.php adalah halaman login yang akan muncul bila user mengakses halaman admin dalam
keadaan belum login atau setelah user logout.
Berikut skripnya :
<!DOCTYPE html> <html> <head> <title>Halaman Login</title> <link rel="stylesheet" href="">
</head> <body> <?php if (isset($_GET['error']) && $_GET['error'] == 'salah') { echo "Username
dan Password tidak ditemukan"; }?> <form action="check-login.php" method="post"> <input
type="text" name="username" /> <input type="password" name="password" />
<button>Login</button> </form> <a href="./../">Halaman Depan</a> </body> </html>
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
<head>
<title>Halaman Login</title>
</head>
<body>
}?>
<button>Login</button>
</form>
</body>
</html>
posts.php
posts.php adalah halaman untuk memanagement posting seperti tambah, hapus, edit dan
mengaitkan dengan category.
<?php
<h1>Hallo <?=$_SESSION['user_login'];?></h1>
<p>Halaman Posting</p>
sidebar.php
sidebar.php adalah potongan template halaman admin yang berisi menu navigasi ke tiap
halaman, berikut kodenya :
1
2
10
11
12
13
14
<?php
if (!defined('ACCESS')) {
?>
<ul>
<li><a href="<?=$domain.'admin/dashboard.php';?>">Dashboard</a></li>
<li><a href="<?=$domain.'admin/posts.php';?>">Posting</a></li>
<li><a href="<?=$domain.'admin/categories.php';?>">Categories</a></li>
<li><a href="<?=$domain.'admin/comments.php';?>">Comments</a></li>
<li><a href="<?=$domain.'admin/users.php';?>">Users</a></li>
<li><a href="<?=$domain.'admin/?logout=true';?>">Logout</a></li>
</ul>
users.php
<?php
<h1>Hallo <?=$_SESSION['user_login'];?></h1>
<p>Halaman Users</p>
Jika muncul halaman login gunakan user : admin dan password: admin
Perlu diketahui header.php, footer.php dan sidebar.php adalah bagian template yang nantinya
akan digabungkan dengan file dashboard.php, posts.php, comments.php, categories.php,
users.php sehingga menjadi satu template yang utuh. Sedangkan login.php adalah file yang
berdiri sendiri. Pada tutorial membuat website ini jika dibilang tamplinya masih jelek sekali
karena belum melibatkan css dan js sebagai alat mempercantik website.
Sekian dulu tutorial php Cara Membuat Website Bagian Halaman Login dan nantikan tutorial
berikutnya cara membuat webiste sendiri bagian mempercantik halaman login.
Jangan lupa untuk Like FP onphpid untuk mendapatkan informasi terbaru dari onphpid.com dan
silahkan tinggalkan komentar apabila ada pertanyaan. terimakasih