Home
Hosting Murah
Domain Murah
VPS Indonesia
Jasa Pembuatan Website
Cara Membuat Website
G-Suite Email Hosting
SSL Certificate Murah
Promo Domain Hosting Murah
Promo domain .COM murah
Hot Promo
LiveChat
Kontak
Login
Pembayaran
DOMAIN
HOSTING
WEBSITE
SEMUA LAYANAN
PROMO
Skip to content
HOME / JOURNAL
POSTED ON17 DECEMBER 2005 BY RUMAHWEB
Login, Session, dan Logout
Login dan logout merupakan proses yang hampir tiap kali kita temui sewaktu
browsing. Misalnya saja untuk cek e-mail atau masuk ke account di friendster,
atau.. (saking banyaknya, saya sampai tidak bisa menyebutkan satu persatu).
Sekarang saatnya kita mencoba membuat form login dan logout
sendiri secara sederhana. Menggunakan PHP & MySQL tentunya.
Langkah-langkahnya:
Jika anda mencoba dari komputer stand-alone, jalankan dulu webserver dan
database server anda. Untuk gampangnya, gunakan saja phptriad.
1. Database
Setiap user yang login akan dicek username dan passwordnya dari tabel user
yang terdapat pada database. Kita buat dulu databasenya:
Perintah yang digunakan:
create database coba;
use coba;
create table users
(
id int auto_increment not null,
username varchar(20) not null,
password varchar(35) not null,
primary key(id)
);
jika sudah selesai, ketikkan perintah
desc users;
maka akan tampil seperti berikut ini:
setelah itu, ketik perintah ini:
INSERT INTO users (username, password) VALUES (‘test’,
md5(‘test’));
Perintah diatas digunakan untuk memasukkan nilai pada field username dan
password, untuk memastikannya, ketik perintah berikut:
select * from users;
maka akan tampil:
password yang dimasukkan, menggunakan enkripsi md5. tulisan ‘test’
pada password, diubah menjadi 32 character string.
2. login.html
Digunakan sebagai form login untuk user. Script-nya:
<html>
<head>
<title>Login </title>
</head>
<body>
<form method=”POST” action=”login.php”>
Username: <input type=”text” name=”username” size=”20″>
Password: <input type=”password” name=”password” size=”20″>
<input type=”submit” value=”Login” name=”login―>
</form>
</body>
</html>
3. login.php
file ini digunakan untuk memeriksa apakah username dan password yang
dimasukkan benar atau tidak.
<?PHP
//periksa apakah file ini tidak dipanggil secara langsung, jika dipanggil secara
langsung
//maka user akan di kembalikan ke login.thml
if (!isset($username) || !isset($password)) {
header( “Location: http://domainanda/login.html” );
}
//melihat apakah form telah diisi semua atau tidak. Jika tidak, user akan
dikembalikan ke
//halaman login.html
elseif (empty($username) || empty($password)) {
header( “Location: http://domainanda/login.html” );
}
else{
//mengubah username dan password yang telah dimasukkan menjadi sebuah
variabel dan meng-enkripsi password ke md5
$user = addslashes($_POST[‘username’]);
$pass = md5($_POST[‘password’]);
//variabel untuk koneksi ke database
$dbHost = “localhost”;
$dbUser = “databaseusernameanda”; //user yang akan digunakan pada
database.
$dbPass = “passworddatabase”; //password dari username untuk database.
$dbDatabase = “coba”; //dari database yang dibuat tadi
//Melakukan koneksi ke database
$db = mysql_connect(“$dbHost”, “$dbUser”, “$dbPass”) or die (“koneksi gagal
nih, cek apakah variabel sudah benar apa belum”);
//memilih database
mysql_select_db(“$dbDatabase”, $db) or die (“Gagal memilih database”);
$result=mysql_query(“select * from users where username=’$user’ AND
password=’$pass'”, $db);
//melihat apakah username dan password yang dimasukkan benar
$rowCheck = mysql_num_rows($result);
//jika benar maka
if($rowCheck > 0){
while($row = mysql_fetch_array($result)){
//mulai session dan register variabelnya
session_start();
session_register(‘username’);
//Memberitahu jika login sukses
echo ‘login berhasil..!!’;
//redirect ke halaman lain untuk lebih memastikan
header( “Location: loginok.php” );
}
else {
//jika $rowCheck = 0, berarti username atau password salah, atau tidak
terdaftar di database
echo ‘Invalid username or password, coba lagi deh.. ‘;
}
}
?>
4. loginok.php
Nama filenya agak aneh? Sebenernya gabungan dari dua kata, login dan ok.
Artinya file ini cuma akan diakses begitu username dan password telah valid
dan session telah di register.
Scriptnya kurang lebih:
<?php
//mulai session
session_start();
//cek lagi apakah session telah terdaftar untuk username tersebut
if(session_is_registered(‘username’)){
//dan jika terdaftar
echo ‘Selamat Datang, session anda telah terdaftar. Dan hanya akan
terhapus jika anda melakukan logout.’;
}
else{
//jika tidak terdaftar, kembalikan user ke login.html
header( “Location: http://domainanda/login.html” );
}
?>
function session_start() tidak hanya digunakan untuk memulai session, tapi
juga untuk memastikan session itu berlanjut terus (tetap aktif). Session_start()
dan “if(session_is_registered()){…― harus diletakkan paling atas pada
kode yang dibuat, untuk mencegah user dikembalikan pada halaman login.
5. logout.php
<?php
//function start lagi
session_start();
//cek apakah session terdaftar
if(session_is_registered(‘username’)){
//session terdaftar, saatnya logout
session_unset();
session_destroy();
}
else{
//variabel session salah, user tidak seharusnya ada dihalaman ini. Kembalikan
ke login
header( “Location: http://domainanda/login.html” );
}
?>
karena session terdaftar, maka pada proses logout, kita perlu menghapus
variabel pada session tersebut dengan menggunakan function
session_unset(). Dan untuk melengkapi penghapusan data yang berkaitan
dengan session tadi, gunakan session_destroy()
Gampang kan? Silahkan dicoba..!!
Artikel Terkait:
Membangun CMS dengan PHP [Bag.3]
Installasi manual virtuemart JOOMLA 1.5 dan 1.0
Membangun CMS dengan PHP [Bag.2]
Share this:
Click to share on Facebook (Opens in new window)
Click to share on LinkedIn (Opens in new window)
Click to share on Reddit (Opens in new window)
Click to share on Twitter (Opens in new window)
Click to share on Telegram (Opens in new window)
Click to share on WhatsApp (Opens in new window)
Tinggalkan Komentar
CATEGORIESWEB PROGRAMMING
2 Replies to “Login, Session, dan Logout”
1. yuli_rian2006
24 JANUARY 2007 AT 4:15 AM
aq dah upload dtbasenya ke tmp aq hosting
sesuai dg prosedur yg kyak di artikel.tp knp kok programq ga isa jalan wkt online.
mungkin ada kesalahan tp apa ya?
tmn2 bs bantu
makasih
Reply
2. khuclukz
15 JUNE 2007 AT 3:41 AM
wah,, info nya sangat berguna sekali ini.. makasih mas admin yakz!!
Reply
Leave a Reply
Your email address will not be published. Required fields are marked *
Comment
Name *
Email *
Website
Notify me of follow-up comments by email.
Notify me of new posts by email.
Post Comment
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Post navigation
Previous PostP R E V I O U S Membangun CMS dengan PHP [Bag.2]
Next PostN E X T Memilih Nama Domain
PENCARIAN ARTIKEL
Search for:CARISearch
ARTIKEL TERBARU
Melihat Email Header Pada Outlook 2007
Panduan Backup Website Melalui Fitur Softaculous di cPanel
Panduan Setting Koneksi Database Laravel
Melakukan Backup, Terminate dan Restore Akun di cPanel Menggunakan SSH/Command Line
Melihat Email Header di Rouncube
Upload File Framework Laravel di Plesk Panel
Setting SMTP Pada Open Source Social Network (OSSN)
TAGS
.htaccess
backup
cache
clientzone
cms
cPanel
CyberPanel
database
dns
Domain
email
google apps
google suite
Hosting
install
install wordpress
Joomla
Moodle
mysql
ojs
open journal system
outlook
php
phpmyadmin
plesk
plesk panel
Plugin
prestashop
Promo
reset password
SEO
smtp
softaculous
ssl
subdomain
template
Upload
vestacp
vps
webmail
Website
weebly
whm
Wordpress
wordpress hosting
HASIL PENCARIAN POPULER
tutorial php
tutorial php mysql
tutorial mysql
an unexpected http error occurred during the api request
cara upload joomla ke hosting
session php
Template php
php mysql
buat account email
php mysql tutorial
PEMBERITAHUAN
Scheduled Maintenance : File System Check pada Server Samba6 M A Y 2 0 1 9
Emergency Maintenance : Server samba.iixcp.rumahweb.com6 M A Y 2 0 1 9
Emergency Maintenance : Server satyajit.iixcp.rumahweb.com2 5 A P R I L 2 0 1 9
LINKS
Rumahweb
Rumahweb Promo
Tutorial Web Hosting
Knowledge Base
Produk
o Hosting
o VPS
o SSL
o Domain
o Email
o Website
Link
o Tentang Rumahweb
o Pembayaran
o Tutorial
o Manual
o Knowledgebase
o Service Level Agreement
o Acceptable Use Policy
o Perjanjian Layanan
News
Perubahan Harga Lisensi cPanel23 Apr 2019
Pemenang Lomba Video Singkat Pos17ivelyGrow10 Apr 2019
Maintenance Clientzone Bagian Kedua24 Jan 2019
Maintenance Clientzone17 Jan 2019
Perubahan Harga Lisensi di Rumahweb01 Oct 2018
Kontak Kami
Telepon:
0274-882257 / 021-25556765
Livechat:
Email/Contact:
[email protected]
Technical Support:
[email protected]
Alamat Kantor
Yogyakarta (Headquarter)
Jalan Lempongsari No. 39C
Sleman, Yogyakarta 55581
View Map
Jakarta (Branch)
CityLoft Sudirman Unit #2526
Jl. KH. Mas Mansyur No. 121
Karet Tengsin, Jakarta Pusat
View Map
undefined
Home
Hosting Murah
Domain Murah
VPS Indonesia
Jasa Pembuatan Website
Cara Membuat Website
G-Suite Email Hosting
SSL Certificate Murah
Promo Domain Hosting Murah
Promo domain .COM murah
Hot Promo