Membuat Form Login Dengan PHP Dan MySQL ( Part 1 )
MENGENAL FORM LOGIN DAN FUNGSINYA
Untuk membuat sebuah sistem informasi atau website kita tidak pasti membutuhkan sebuah halaman login. Lalu apa fungsi dari halaman login ini ? Login berfungsi untuk memberikan batasan siapa saja yang boleh masuk ke halaman tersebut atau sebagai penanda siapa sih yang masuk ini ? ibaratkan saja kita memiliki sebuah rumah dan memiliki beberapa ruangan. Tentu tidak semua ruangan boleh dimasuki oleh orang luar ? tapi kita berikan izin terlebih dahulu baru orang tersebut masuk ke kamar tersebut. Ibaratkan saja kegunaan form login seperti itu. Coba bayangkan saja sebuah website memiliki halaman login. Pasti semua konten sudah di acak - acak oleh orang lain.
Pada tutorial kali ini akan dibahas bagaimana membuat form login yang pasti memiliki validasi. Tetapi ada juga teknik untuk mengamankan login ini agar susah ditembus oleh sesorang. Banyak sekali langkah - langkah keamanan yang harus kita ketahui karena form login ini merupakan kunci untuk masuk ke website tersebut jadi ada teknik untuk mengamankanya juga. Untuk teknik mengamankanya tersebut akan dibahas pada tutorial berikutnya.
MEMBUAT FORM LOGIN DENGAN PHP DAN MYSQL
Baiklah disini akan saya jelaskan bagaimana membuat form login sederhana dan ini masih dasar tidak terenkripsi. Jadi kita pahami dulu saja bagaiaman alur membuat form login ini. Baiklah untuk buatlah sebuah database, disini saya berikan nama script_kiddies yang memiliki tabel bernama admin lalu buatlah 3 kolom yang bernama id username dan password atau sobat dapat import melalui syntax sql di bawah ini
-- phpMyAdmin SQL Dump
-- version 4.0.10deb1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 14, 2017 at 03:13 PM
-- Server version: 5.5.54-0ubuntu0.14.04.1
-- PHP Version: 5.5.9-1ubuntu4.21
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `script_kiddies`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin`
--
CREATE TABLE IF NOT EXISTS `admin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `admin`
--
INSERT INTO `admin` (`id`, `username`, `password`) VALUES
(1, 'admin', 'admin');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Sampai tahap ini table admin sudah siap digunakan. Pastikan juga sobat sudah bisa menggunakan sql dan mengerti apa itu phpmyadmin. Untuk tutorial sql sobat dapat melihatnya di tutorial sebelumnya.
TAHAP MEMBUAT FORM LOGIN
Buatlah sebuah file yang php disini saya memberikan nama index.php karena saya ingin form login terbuka pertama. Oke sekarang kita isi file php tersebut mulai dari membuat file inputnya. Oke silahkan disimak
index.php
<!DOCTYPE html>
<html>
<head>
<title>Membuat Form Login</title>
</head>
<body>
<h2>Membuat Halaman Login Sederhana</h2>
<h4>www.script-kiddies.org</h4>
<form method="POST" action="proses.php">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Login"></td>
</tr>
</table>
</form>
</body>
</html>
Untuk tutorial kali ini kita buat form loginya dengan tampilan sederhana saja karena kita berfokus pada alur form login ini. Untuk desain tampilan login akan saya bahas pada tutorial yang akan datangLalu yang tidak kalah pentingnya adalah file koneksi.php agar form yang kita buat ini terhubung dengan database yang kita buat. Pastikan versi PHP anda 5 ++ karena saya akan menggunakan fungsi mysqli
koneksi.php
<?php
$koneksi = mysqli_connect("localhost","root","password","script_kiddies");
// Sesuaikan dengan username dan password mysql sobat dan juga database yang dibuat
?>
Perhatikan pada form di atas. Pertama kita membuat tag <form> terlebih dahulu agar data dapat diproses. Yang kedua kita menentukan method dari form tersebut disini saya menggunakan method POST. Untuk mengetahui penanganan form ini lebih lengkap bisa lihat tutorial Penanganan FORM PHP . Action berarti ketika form di submit dia akan mengarah ke proses.php agar data username dan password dapat ditangkap dan melakukan pengecekan ketersediakan username dan password yang disubmit
Jadi logika dalam form login ini. Jika username atau password ada di dalam database maka dia akan redirect ke file yang ditujukan dan jika username dan password yang di inputkan tidak ada dalam database maka akan muncul notif username atau password salah. Tutorial itu akan dibahas pada tutor selanjutnya untuk sekarang kita cek ketersedianya saja
Oke sekarang buatlah file proses.php yang berfungsi sebagai pengecek ketersediaan username dan password yang di inputkan tadi.
proses.php
<?php
include"koneksi.php";
$username = $_POST['username'];
$password = $_POST['password'];
$query = mysqli_query($koneksi, "SELECT * FROM admin WHERE username = '$username' AND password = '$password'");
$cek = mysqli_num_rows($query);
echo $cek;
?>
Perhatikan file proses.php di atas. Pertama kita include terlebih dahulu file koneksi.php, untuk include ini sudah saya jelaskan pada tutorial sebelumnya. Mengenal Include dan Require PHP
Lalu kita menangkap hasil inputan dari username dan password menggunakan $_POST['name input']
$username = $_POST['username'];Kemudian saya menambahkan fungsi mysqli_query yang berfungsi untuk menjalankan perintah sql pada PHP, parameter pertama diisi dengan koneksi lalu perintah dari sql tersebut. Jadi kita dapat menjalankan perintah sql menggunakan fungsi mysqli_query ini.
$password = $_POST['password'];
$query = mysqli_query($koneksi, "SELECT * FROM admin WHERE username = '$username' AND password = '$password'");di sini kita menjalankan perintah mysql untuk memilih atau mengambil data username yang sama dengan username yang di input dan password yang di input dari table admin. kemudian hasil query mysql ini kita hitung jumlah record yang di temukan dengan fungsi mysql_num_rows(). fungsi mysql_num_rows() adalah fungsi php yang berguna untuk menghitung jumlah record yang di temukan dari query mysql seperti yang dapat teman-teman sekalian lihat pada contoh di atas. nah, jadi apabila username dan password yang di input ada pada database maka nilai variabel $cek di atas akan berisi 1 dan jika tidak ada maka nilai pada variabel $cek adalah 0. dengan 1 dan 0 inilah yang akan kita jadikan pendeteksi apakah username dan password yang di input pada form login benar atau salah. jika benar berarti nilainya adalah 1 dan jika salah nilai nya adalah 0. pada contoh ini saya menampilkan isi nilai dari variabel $cek. tadi pada table admin kan berisi username dengan nama admin dan passwordnya adalah admin. sekarang kita tes dengan memasukkan Username dan Password yang salah
$cek = mysqli_num_rows($query);
echo $cek;
Disini saya mencoba memasukkan username yogi dan password yogi yang artinya input yang saya masukkan salah. Maka hasilnya adala 0 karena tidak ada di dalam database yang kita buat
Login Gagal |
Lalu jika saya memasukkan username dan password dengan admin maka akan muncul 1 karena username dan password yang saya masukkan terdeteksi di database
Login Berhasil |
KESIMPULAN
Nah form login yang pada part ke 1 ini telah selesai pada tutorial berikutnya akan dijelaskan bagaimana ketika username dan password yang dimasukkan salah maka akan muncul " Username Atau Password Salah " dan jika benar dia akan redirect ke sebuah halaman dan akan menghasilan yang namanya session. Jadi logika dari form login adalah jika username dan password ada di dalam database dia akan redirect ke sebuah halaman dan akan menghasilkan session. Jika ada yang ditanyakan silahkan sekian terima kasih
Tidak ada komentar :
Posting Komentar