Login dengan Database
Kali ini kita akan membahas bagaimana login dengan sistem username dan password yang disimpan pada database. Beda dengan yang penulis jelaskan terdahulu di postingan yang ini. Disitu hanya menggunakan Fungsi IF sederhana saja ๐
Oke deh, yuk kita langsung praktek aja deh untuk mempersingkat kata ๐
Pertama-tama, seperti biasa, kita harus buat sebuah tabel terlebih dahulu.
Berikut lognya:
mysql> create table tbl_user( -> id int(2) auto_increment primary key, -> username varchar(50) not null, -> password varchar(35) not null -> ); Query OK, 0 rows affected (0.15 sec) mysql> desc tbl_user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | id | int(2) | NO | PRI | NULL | auto_increment | | username | varchar(50) | NO | | NULL | | | password | varchar(35) | NO | | NULL | | +----------+-------------+------+-----+---------+----------------+ 3 rows in set (0.10 sec) mysql> insert into tbl_user(username,password) values('aa', md5('password')); Query OK, 1 row affected (0.10 sec) mysql> select * from tbl_user; +----+----------+----------------------------------+ | id | username | password | +----+----------+----------------------------------+ | 1 | aa | 5f4dcc3b5aa765d61d8327deb882cf99 | +----+----------+----------------------------------+ 1 row in set (0.00 sec)
Oke, dari log diatas, penulis sudah membuat sebuah tabel dengan nama tbl_user lalu telah menginput 1 user (aa:md5(password))
Yups, passwordnya kita enkripsi dengan md5 ๐ Cukup pintar, bukan?
Okeh, tahap selanjutnya adalah membuat form. Misalnya kodenya seperti dibawah ini:
[html]
<!– simpan dengan nama index.php –>
<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>[/html]
isi dari cek.php adalah sebagai berikut:
[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;
echo "<meta http-equiv=’refresh’ content=’0;URL=main.php’>";
}
else
echo "<meta http-equiv=’refresh’ content=’0;URL=index.php’>";
?>[/php]
lalu untuk config.php-nya (sesuaikan dengan milik masing-masing yah)
[php]<?php
$host = "localhost";
$username = "root";
$password = "12345";
$databasename = "sekolah";
$connection = mysql_connect($host, $username, $password) or die("Kesalahan Koneksi … !!");
mysql_select_db($databasename, $connection) or die("Databasenya Error");
?>[/php]
selanjutnya main.php
[php]<?php
session_start();
if (ISSET($_SESSION[‘username’]))
{
print $_SESSION[‘username’];
print "<br><a href=logout.php?maukeluar=iya>logout</a>";
}
else
echo "<meta http-equiv=’refresh’ content=’0;URL=index.php’>";
?>[/php]
dan terakhir logout.php
[php]<?php
session_start();
if ($_REQUEST[‘maukeluar’] == "iya")
{
if(ISSET($_SESSION[‘username’]))
{
UNSET($_SESSION[‘username’]);
}
}
echo "<meta http-equiv=’refresh’ content=’0;URL=index.php’>";
session_destroy();
?>[/php]
Nah, begitu doang deh ๐ Silahkan dicobain sendiri bagaimana efeknya ๐
Klo masih ada masalah, silahkan share dimari bos ๐
Sumber : Somewhere in Google Search ๐
Pertamax yang mengatakan ” MANTAP ”
Dang nyangko biso jadi kayak ini, dak nyalakenyo pinter program auu Aak
logika program mudah kak, logika betino yang saro :))