Sekarang Kita mencoba untuk membuat Form Login dengan PHP yang
digabungkan dengan Tag-tag HTML dan perancangan basis datanya dengan
menggunakan MYSQL.
Secara sederhana, cara kerjanya adalah seperti :
1.) Ketika user memasukkan username beserta passwordnya, maka yang pertama kali dilakukan adalah mengeceknya dalam database apakah username telah terdaftar, jika telah terdaftar, dalam hal ini ada dalam database maka kita memerlukan satu variable yang mengindikasikan bahwa user tersebut ada.
2.) Setelah itu maka sang user akan diberi sebuah session yang diambil dari usernamenya jika pengecekan password sebelumnya oleh MD5 sukses dilakukan.
3.) Jika kesemuanya tidak sesuai maka sang user akan diredirect ke halaman login.html, sehingga terlihat seperti diam di tempat.
Untuk memulainya kita buat terlebih dahulu databasenya :
———————————————————–
create database userdb;
use userdb;
create table tbl_user(id int(3) primary key auto_increment,
username varchar(50), password varchar(50));
insert into tbl_user values(‘ ‘,’admin’,’21232f297a57a5a743894a0e4a801fc3′);
21232f297a57a5a743894a0e4a801fc3 –> ini adalah md5 hash dari ‘admin’
————————————————————
Pertama-tama kita membuat halaman loginnya terlebih dahulu
// login.html
<html><head><title>Halaman Login … </title></head>
<body>
<br><br><br><br><br><br><br><br><br><br><br>
<table border=1 align=center>
<form method=post action=cek.php>
<tr><td>username</td><td><input type=text name=username></tr>
<tr><td>password</td><td><input type=password name=password></tr>
<tr><td></td><td><input type=submit name=submit value=Enter></tr>
</form>
</table></body>
</html>
Kemudian halaman config.php
// config.php
<?php
$host = “localhost”;
$username = “root”;
$password = “”;
$databasename = “userdb”;
$connection = mysql_connect($host, $username, $password) or die(“Kesalahan Koneksi … !!”);
mysql_select_db($databasename, $connection) or die(“Databasenya Error”);
?>
Setelah itu kita buat halaman cek.php
// cek.php
<?php
session_start();
include “config.php” ;
$username = $_POST['username'];
$password = $_POST['password'];
$passwordhash = md5($password); // mengenkripsikannya untuk dicocokan dengan database
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;
$jalankanperintahnya = mysql_query($perintahnya);
$ada_apa_enggak = mysql_num_rows($jalankanperintahnya);
if ($ada_apa_enggak >= 1 )
{
$_SESSION['username'] = $username;
header(“location: main.php”);
}
else
header(“location: login.html”);
?>
Kemudian kita buat intinya main.php
// main.php
<?php
session_start();
if (ISSET($_SESSION['username']))
{
print $_SESSION['username'];
print “<br><a href=logout.php?maukeluar=iya>logout</a>”;
}
else
header(“location: login.html”);
?>
Dan halaman logout.php …
// logout.php
<?php
session_start();
if ($_REQUEST['maukeluar'] == “iya”)
{
if(ISSET($_SESSION['username']))
{
UNSET($_SESSION['username']);
}
}
header(“location: login.html”);
session_destroy();
?>
Pembahasan Script
lihat bagian
session_start();
Penggunaan session harus dimulai dengan menggunakan fungsi ini.
Kemudian disana tertulis kalimat seperti ini …
$password = $_POST['password'];
$passwordhash = md5($password);
saya mengambil variable global $_POST['password'] kemudian menyisipkannya kedalam variable baru,
yakni $password. Karena didalam database sudah dalam bentuk enkripsi MD5 maka yang perlu dilakukan
untuk mencocokkan dengan yang ada dalam database adalah mengenkripsi variable global password tadi.
Cukup dimengerti.
Kemudian argumen selanjutnya adalah query SQL
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;
Secara sederhana, cara kerjanya adalah seperti :
1.) Ketika user memasukkan username beserta passwordnya, maka yang pertama kali dilakukan adalah mengeceknya dalam database apakah username telah terdaftar, jika telah terdaftar, dalam hal ini ada dalam database maka kita memerlukan satu variable yang mengindikasikan bahwa user tersebut ada.
2.) Setelah itu maka sang user akan diberi sebuah session yang diambil dari usernamenya jika pengecekan password sebelumnya oleh MD5 sukses dilakukan.
3.) Jika kesemuanya tidak sesuai maka sang user akan diredirect ke halaman login.html, sehingga terlihat seperti diam di tempat.
Untuk memulainya kita buat terlebih dahulu databasenya :
———————————————————–
create database userdb;
use userdb;
create table tbl_user(id int(3) primary key auto_increment,
username varchar(50), password varchar(50));
insert into tbl_user values(‘ ‘,’admin’,’21232f297a57a5a743894a0e4a801fc3′);
21232f297a57a5a743894a0e4a801fc3 –> ini adalah md5 hash dari ‘admin’
————————————————————
Pertama-tama kita membuat halaman loginnya terlebih dahulu
// login.html
<html><head><title>Halaman Login … </title></head>
<body>
<br><br><br><br><br><br><br><br><br><br><br>
<table border=1 align=center>
<form method=post action=cek.php>
<tr><td>username</td><td><input type=text name=username></tr>
<tr><td>password</td><td><input type=password name=password></tr>
<tr><td></td><td><input type=submit name=submit value=Enter></tr>
</form>
</table></body>
</html>
Kemudian halaman config.php
// config.php
<?php
$host = “localhost”;
$username = “root”;
$password = “”;
$databasename = “userdb”;
$connection = mysql_connect($host, $username, $password) or die(“Kesalahan Koneksi … !!”);
mysql_select_db($databasename, $connection) or die(“Databasenya Error”);
?>
Setelah itu kita buat halaman cek.php
// cek.php
<?php
session_start();
include “config.php” ;
$username = $_POST['username'];
$password = $_POST['password'];
$passwordhash = md5($password); // mengenkripsikannya untuk dicocokan dengan database
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;
$jalankanperintahnya = mysql_query($perintahnya);
$ada_apa_enggak = mysql_num_rows($jalankanperintahnya);
if ($ada_apa_enggak >= 1 )
{
$_SESSION['username'] = $username;
header(“location: main.php”);
}
else
header(“location: login.html”);
?>
Kemudian kita buat intinya main.php
// main.php
<?php
session_start();
if (ISSET($_SESSION['username']))
{
print $_SESSION['username'];
print “<br><a href=logout.php?maukeluar=iya>logout</a>”;
}
else
header(“location: login.html”);
?>
Dan halaman logout.php …
// logout.php
<?php
session_start();
if ($_REQUEST['maukeluar'] == “iya”)
{
if(ISSET($_SESSION['username']))
{
UNSET($_SESSION['username']);
}
}
header(“location: login.html”);
session_destroy();
?>
Pembahasan Script
lihat bagian
session_start();
Penggunaan session harus dimulai dengan menggunakan fungsi ini.
Kemudian disana tertulis kalimat seperti ini …
$password = $_POST['password'];
$passwordhash = md5($password);
saya mengambil variable global $_POST['password'] kemudian menyisipkannya kedalam variable baru,
yakni $password. Karena didalam database sudah dalam bentuk enkripsi MD5 maka yang perlu dilakukan
untuk mencocokkan dengan yang ada dalam database adalah mengenkripsi variable global password tadi.
Cukup dimengerti.
Kemudian argumen selanjutnya adalah query SQL
$perintahnya = “select username, password from tbl_user where username = ‘$username’ and password = ‘$passwordhash’”;
ARTIKEL TERKAIT:
Belajar Php
- Tips Php : Php yang Baik dan Benar
- Tips php : Script Php membuat Report Format Excel
- Tips belajar Php : bermain-dengan-code-igniter-full-instalasi-hingga-akses-databas
- Tips belajar Php : Mengaktifkan CURL di XAMPP
- Tips belajar Php : Cara mudah belajar CodeIgniter untuk pemula
- Tips belajar Php: Pengenalan HTML
- Tips belajar Php : Membuat Login Form dengan PHP dan MySQL
- Ajax dengan PHP dan Jquery
- Membuat File Koneksi Database di PHP
- Menambah Mengurangi Tanggal dan Jam di PHP
- Browser Terbaik Untuk Web Desain – Chrome atau Firefox?
- Memindah Folder Htdocs dan Mysql data pada XAMPP
- Dasar Login dan Logout | Tutorial CodeIgniter
- Mendalami Array PHP
- Belajar Php ntuk Pemula..
0 komentar:
Posting Komentar