Jasa pembuatan website & Software Aplikasi

PHP Membuat Form Login OOP

Assalamualaikum, apa kabar teman teman semua? semoga sehat selalu dan ada dalam lindungan Allah SWT.
kali ini saya akan berbagi artikel mengenai pembuatan form login di php yang berorientasikan kepada objek atau menggunakan OOP (Object Oriented Programming). saya menggunakan XAMPP versi 1.7.3, dan Adobe Dreamweaver CS5 sebagai teks editor nya. Langsung saja kita praktekan.

Pertama kita buat sebuah database terlebih dahulu, nama database nya db_login_oop
 CREATE DATABASE `db_login_oop` ;
Lalu buat sebuah table, beri nama tbl_login, dengan ketentuan : ada 2 filed, 'username' VARCHAR(100) PRIMARY KEY, dan 'password' VARCHAR(100).
 CREATE TABLE `db_login_oop`.`tbl_login` (
`username` VARCHAR( 100 ) NOT NULL ,
`password` VARCHAR( 100 ) NOT NULL ,
PRIMARY KEY ( `username` )
) ENGINE = MYISAM ;
Selanjutnya kita mulai membuat kodingan nya, buat sebuah file baru beri nama database.php tempatkan di dalam folder  xampp > htdocs > loginOOP > config > database.php , masukan script berikut :

<?php
$server = "localhost"; //host
$username = "root"; //user
$password = ""; //password
$database = "db_login_oop"; //db

mysql_connect($server, $username, $password);
mysql_select_db($database) or die('Database tidak ditemukan');
?>

Lalu buat file baru beri nama controllers.php tempatkan di folder xampp > htdocs > loginOOP > library > controllers.php , masukan script berikut :

<?php
class oop {
    function login($table, $username, $password, $nama_form) {
        @session_start();
        $sql = "SELECT * FROM $table WHERE username = '$username' and password = '$password'";
        $jalan = mysql_query($sql);
        $tampil = mysql_fetch_array($jalan);
        $cek = mysql_num_rows($jalan);
        if ($cek > 0) {
            session_register($tampil[username]);
            session_register($tampil[password]);
            $_SESSION['username'] = $username;
            echo "<script>alert('Login Berhasil');document.location.href='$nama_form'</script>";
        } else {
            echo "<script>alert('Login gagal cek username dan password !!');</script>";
        }
    }
}
?>

Selanjutnya buat file baru beri nama index.php tempatkan di folder xampp > htdocs > loginOOP > index.php , masukan script berikut :

<?php
session_start();
include "config/database.php";
include "library/controllers.php";
$perintah = new oop();
$table = "tbl_user";
$username = $_POST['user'];
$password = base64_encode($_POST['pass']);
$nama_form = "hal_admin.php?menu=home"; //redirect jika berhasil login
if (isset($_POST['login'])) {
    $perintah->login($table, $username, $password, $nama_form);
}
if (isset($_POST['batal'])) {
    echo "<script>document.location.href='../'</script>";
}
?>
<title>Login</title>
<form method="post">
    <table align="center">
        <tr>
            <td>Username</td>
            <td>:</td>
            <td><input type="text" name="user"></td>
        </tr>
        <tr>
            <td>Password</td>
            <td>:</td>
            <td><input type="password" name="pass"></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td><input type="submit" name="login" value="LOGIN">
                <input type="submit" name="batal" value="BATAL">
            </td>
        </tr>
    </table>
</form>

Selanjutnya buat file baru beri nama home.php tempatkan di folder xampp > htdocs > loginOOP > home.php , masukan script berikut :

<?php
@session_start();
include "config/database.php";
include "library/controllers.php";
$perintah = new oop();
$perintah->tampil("tbl_login WHERE username = '$_SESSION[username]'");
if (empty($_SESSION['username'])) {
    echo "<script>alert('Silahkan login terlebih dahulu');document.location.href='index.php'</script>";
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Halaman Administrator</title>
    </head>
    <body>
        <h1 align="center">SELAMAT DATANG <?php $_SESSION['username'] ?></h1>
    </body>
</html>

Alhamdulillah, akhirnya selesai, semoga bermanfaat.

2 comments:

  1. saya mendapatkan error pada syntax $perintah->tampil("tbl_login WHERE username = '$_SESSION[username]'")

    ReplyDelete