Php Script Membuat Form Login Yang Terhubung Dengan PhpMyAdmin



Halo temen-temen balik lagi, untuk artikel ini admin akan kasih tau coding untuk form login sederhana dengan validasi-validasi nya, dalam code nya juga sudah dibuat kan komentar mengenai codenya, mohon dipahami, jika ada salah dalam komentar code nya bisa sama-sama diperbaiki dikolom komentar, langsung aja cek code nya dibawah:


Pertama, buat database dulu, disini admin akan buat database dengan nama users, masukan code berikut, bisa kalian edit sesuai dengan kebutuhan temen-temen.


CREATE TABLE `users` (
  `id` int(5) NOT NULL,
  `username` varchar(30) COLLATE utf8mb4_swedish_ci NOT NULL,
  `nama` varchar(30) COLLATE utf8mb4_swedish_ci NOT NULL,
  `password` varchar(30) COLLATE utf8mb4_swedish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_swedish_ci;

INSERT INTO `users` (`id`, `username`, `nama`, `password`) VALUES
(1, 'ken7ester', 'Admin blog', 'inipassword');



Kedua, buat file config.php agar script kalian terhubung dengan database, berikut code nya.

<?php
$host = "localhost";
$username = "root";
$password = "passworddatabasekalian";
$database   = "test";
$connect = mysql_connect($host, $username, $password) or die ('Gagal terkoneksi');
mysql_select_db($database);
?>


Ketiga, buat file dengan nama login.php

<?php
error_reporting(0); // untuk me 0 kan error
session_start(); // start sessi
require_once 'config.php'; // isikan dengan file config kalian
// validasi, jika sessi username masih ada akan langsung ke halaman dashboard
if($_SESSION['username'] != null){
    header('Location:dashboard.php');
}

?>
<!DOCTYPE html>
<html>
<head>
    <title>Form Login</title>
</head>
<body>
    <?php
    // cek username di database
    $cek_username = mysql_query("SELECT * FROM users WHERE username = '$_POST[username]'");
    $row = mysql_fetch_array($cek_username);

    // klik button login
    if(isset($_POST['login'])){
        if(!$_POST['username'] || !$_POST['password']){ // validasi jika form input username dan password kosong
            echo 'Masih ada data yang kosong!';
        } else if(mysql_num_rows($cek_username) == 0){ // cek username di database ada atau tidak
            echo 'User tidak ditemukan!';
        } else if($_POST['password'] != $row['password']){ // jika password yang di ketik tidak sama dengan di database
            echo 'Password anda salah!';
        } else if(mysql_num_rows($cek_username) == 1 && $_POST['password'] == $row['password']){ // jika username ada dan password sama
            $_SESSION['username'] = $_POST['username']; // membuat sessi username
            header('Location:dashboard.php'); // direct ke halaman dashboard
        }
    }
    ?>
    <form action="" method="POST">
        <label>Username:</label> <br />
        <input type="text" name="username" required> <br /> <br />
        <label>Password:</label> <br />
        <input type="password" name="password" required> <br />
        <br />
        <button type="submit" name="login">Login</button>
    </form>
</body>
</html>


Keempat, buat file lagi dengan nama dashboard.php file ini akan menjadi halaman utama jika sudah login.

<?php
error_reporting(0); // untuk me 0 kan error
session_start(); // start sessi
require_once 'config.php'; // isikan dengan file config kalian
// validasi jika sessi username kosong akan dialihkan ke halaman login
if(!$_SESSION['username']){
    header('Location:login.php');
}
// get data user pada database
$get_data = mysql_query("SELECT * FROM users WHERE username = '$_SESSION[username]'");
$row_data = mysql_fetch_array($get_data);

?>
Hallo <?=$row_data['nama'];?>, kamu berhasil login. <br /> <br />
<a href="logout.php">Logout</a>


Kelima, buat file logout.php file ini untuk menghancurkan semua sesi yang kalian buat tadi.

<?php
session_start(); // start sessi
session_destroy(); // untuk menghancurkan semua sessi
header('Location:login.php'); // direct ke halaman login
?>



Pada code diatas juga sudah admin beri komentar kenapa code itu ditulis, sesuaikan beberapa baris code jika kalian membuat nama yang berbeda dengan yang admin buat, jika sama lanjut menjalankan file nya, tampilannya masih sangat sederhana kalian bisa edit sedikit dengan script css, baik begitu saja tutorial kali ini, kita lanjut ke tutorial selanjutnya, bye.

0 komentar:

Post a Comment