Ini adalah langkah - langkah untuk membuat login database dengan PHP
1.Buatlah database nya dulu
user_id INT(4) PRIMARY AUTO INCREMENT
username VARCHAR(20)
password VARCHAR(255)
email VARCHAR(100)
fullname VARCHAR(100)
agama VARCHAR(15)
no_hp BIGINT(14)
2.Buat Form Login dengan mengetikan kode berikut. Kemudian simpan pada folder yang sama, Disin folder saya dengan nama (Login) lalu nama login.php
<html>
<head>
<title>LOGIN</title>
</head>
<body>
<h1>LOGIN</h1>
<?php
//kode php ini kita gunakan untuk menampilkan pesan eror
if (!empty($_GET['error'])) {
if ($_GET['error'] == 1) {
echo '<h3>Username dan Password belum diisi!</h3>';
} else if ($_GET['error'] == 2) {
echo '<h3>Username belum diisi!</h3>';
} else if ($_GET['error'] == 3) {
echo '<h3>Password belum diisi!</h3>';
} else if ($_GET['error'] == 4) {
echo '<h3>Username dan Password tidak terdaftar!</h3>';
}
}
?>
<form name="login" action="otentikasi.php" method="post">
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td>Username</td>
<td>:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr align="right">
<td colspan="3"><input type="submit" name="login" value="Login" /></td>
</tr>
</table>
</form>
</body>
</html>
Untuk melihat halaman login ini, bukalah
http://localhost/Login/login.php pada browser.
3.Setelah membuat form login, kita harus membuat sebuah file untuk
memproses data login yang dimasukkan user apakah valid atau tidak.
Ketikkan kode berikut dan simpan dengan nam
a otentikasi.php
<?php
include('config.php');
//tangkap data dari form login
$username = $_POST['username'];
$password = $_POST['password'];
//untuk mencegah sql injection
//kita gunakan mysql_real_escape_string
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
//cek data yang dikirim, apakah kosong atau tidak
if (empty($username) && empty($password)) {
//kalau username dan password kosong
header('location:login.php?error=1');
break;
} else if (empty($username)) {
//kalau username saja yang kosong
header('location:login.php?error=2');
break;
} else if (empty($password)) {
//kalau password saja yang kosong
//redirect ke halaman index
header('location:login.php?error=3');
break;
}
$q = mysql_query("select * from user where username='$username' and password='$password'");
if (mysql_num_rows($q) == 1) {
//kalau username dan password sudah terdaftar di database
header('location:index.php');
} else {
//kalau username ataupun password tidak terdaftar di database
header('location:login.php?error=4');
}
Kode diatas akan melakukan pengecekan terhadap inputan user yang berupa
username dan password apakah username dan password terdaftar atau tidak
dalam database
4.Agar setiap halaman hanya dapat diakses setelah login, kita perlu menambahkan beberapa baris kode pada file
otentikasi.php seperti berikut.
<?php
include('config.php');
session_start();
...
if (mysql_num_rows($q) == 1) {
//kalau username dan password sudah terdaftar di database
//buat session dengan nama username dengan isi nama user yang login
$_SESSION['username'] = $username;
//redirect ke halaman index
header('location:index.php');
} else {
...
Untuk dapat membuat otentikasi pada setiap halaman, kita menggunakan
session untuk menyimpan data username dari user yang telah login.
5.Untuk melakukan pengecekan, buat dokumen baru dan ketikkan kode berikut. Kemudian simpan dengan nama cek_login.php
session_start()
digunakan untuk membuat session baru (jika session belum dibuat)
ataupun melanjutkan session (jika session sudah dibuat sebelumnya).
Kemudian data username disimpan dalam session ini dengan menggunakan
perintah $_session['username'] = $username yang berarti
menyimpan data username kedalam session dengan nama session adalah
username. Selanjutnya, data session inilah yang akan selalu kita gunakan
untuk men-cek apakah user sudah login atau belum.5.Untuk melakukan pengecekan, buat dokumen baru dan ketikkan kode berikut. Kemudian simpan dengan nama cek_login.php
<?php
session_start();
//jika session username belum dibuat, atau session username kosong
if (!isset($_SESSION['username']) || empty($_SESSION['username'])) {
//redirect ke halaman login
header('location:login.php');
}
6.Kemudian kita harus meng-
include kan file cek_login.php ini pada file-file yang hanya boleh diakses setelah user login (index.php, edit.php, dan view.php).
<?php include('cek-login.php') ?>
Tambahkan kode berikut pada file login.php.
<?php
session_start();
if (!empty($_SESSION['username'])) {
header('location:index.php');
}
?>
<html>
<head>
Sekarang cobalah buka halaman
login.php. Jika kalian sudah login, maka kalian akan dialihkan ke halaman index.php
8.Sekarang kita buat file untuk logout. Karena kita menggunakan session
untuk menyimpan variabel yang digunakan dalam validasi login, maka untuk
logout, kita cukup menghapus session yang digunakan. Ketikkan kode
berikut dan simpan dengan nama
logout.php
<?php
//lanjutkan session yang sudah dibuat sebelumnya
session_start();
//hapus session yang sudah dibuat
session_destroy();
//redirect ke halaman login
header('location:login.php');
Kemudian buat link ke file
logout.php pada halaman index.php
</table>
</form>
<a href="view.php">Lihat Data</a> || <a href="logout.php">Logout</a>
</body>
</html>
Selesiai. . .
semoga bermanfaat
semoga bermanfaat
0 comments:
Post a Comment