Cara menggunakan login.php id=

Texno.ID – Cara membuat login sederhana PHP merupakan suatu hal yang penting untuk Anda pahami. Pasalnya, login sangat penting bagi aplikasi berbasis web, desktop, atau yang lainnya. Dalam hal ini, login berfungsi untuk membatasi akses dari user supaya tidak dapat mengakses bagian dari sistem.

Dengan demikian, user hanya dapat mengakses sesuai hak akses yang telah diberikan. Selain itu, login juga bermanfaat sebagai security data atau akun, sehingga tidak sembarang orang dapat mengaksesnya.

Mengetahui Cara Membuat Login PHP Sederhana

Pada suatu website, sebaiknya menggunakan form login untuk meningkatkan keamanan suatu website. Selain itu, form login juga dapat memudahkan untuk mengidentifikasi seseorang yang akan login.

Dengan adanya fitur login, maka suatu website dapat memberikan fitur khusus kepada para membernya yang tidak dapat digunakan oleh para pengunjung lainnya.

Langkah-langkah Membuat Login PHP Sederhana

Berikut ini beberapa langkah dalam membuat Login PHP sederhana yang dapat Anda lakukan, antara lain:

  1. Persiapan yang harus Anda lakukan sebelum membuat login PHP sederhana antara lain siapkan web server pada komputer lokal yang Anda gunakan.
  2. Selanjutnya, Anda juga perlu belajar mengenai session di dalam PHP.
  3. Persiapan berikutnya membuat tampilan halaman login. Dalam hal ini, kita akan menggunakan framework Bootstrap 4. Bootstrap merupakan framework css yang dapat memudahkan kita dalam membuat tampilan website.
  4. Sebagai persiapan awal, Anda buat sebuah folder baru dengan nama Login-PHP, kemudian simpan pada folder xampp/htdocs/.
  5. Berikutnya adalah pembuatan database dengan nama latihan, kemudian buat tabel user pada database latihan tersebut dan isi table user.
  6. Langkah berikutnya yang harus Anda lakukan adalah membuat koneksi dengan MySQLnya yang akan Anda coding pada file koneksi.php.
  7. Cara membuat login php sederhana selanjutnya adalah dengan membuat folder baru di dalam htdocs dan beri nama latihan. Pada folder latihan, Anda buat file bernama form_login.php. Penting untuk Anda ingat, mengenai penamaan file PHP tidak boleh menggunakan spasi. Kemudian pada file form_login.php dapat Anda ketikkan kode tertentu.
  8. Proses berikutnya, Anda buat file proses_login.php di dalam folder yang sama.
    Langkah berikutnya buka browser dan isi url localhost/latihan/form_login.php.

Penjelasan File untuk Proses Login PHP

Langkah awal, buat semua file process.php dengan fungsi sebagai file yang memproses form saat di submit. Selanjutnya penjelasan process.php antara lain terdiri dari Code session-start (); yang berada paling atas. Kode ini memiliki fungsi supaya pengguna dapat menggunakan session dalam file.

Karena tutorialnya cukup sederhana, maka list user yang dapat login ke dalam sistem sebaiknya pengguna definisikan dulu dalam variable $list-user pada line 6. Sedangkan pada line 19, pengguna akan menampung user yang diperoleh dari form pada login.php.

Untuk line 28, akan ada perulangan dari data $list user serta mengecek apakah username juga password dari form login sesuai dengan list user.

Apabila username serta password sudah benar, maka kita redirect ke halaman index.php. Namun jika username dan password salah, maka kita redirect kembali ke halaman login.php dengan pesan session.

Selain membuat file login.php, pengguna juga harus membuat file untuk handle proses logout yang bernama logout.php. Pada file ini, pengguna menghapus semua session yang telah dibuat sebelumnya. Apabila telah logout, maka redirect lagi ke halaman login.php dengan pesan login berhasil.

Selain penjelasan mengenai cara membuat login PHP sederhana di atas, terdapat hal penting lain yang harus Anda perhatikan. Halaman login akan menampilkan pesan error apabila username atau password salah dan ketika pesan telah logout.

Codekop - Halo semua jumpa lagi dengan tutorial codekop, kali ini saya ingin membuat tutorial  Cara Membuat Login dan CRUD dengan OOP PHP PDO dan MySQL. Pada tutorial kali ini saya langsung menerapkan cara-cara membangun aplikasi dengan Login dan CRUD. untuk desain template sendiri kita pakai Bootstrap ya, biar lebih mudah dan agar lebih bagus hasilnya.

Apa itu CRUD ?

seperti pernah di bahas pada artikel sebelumnya Tutorial Membuat CRUD Native PHP dengan PDO MySQL CRUD adalah singkatan dari Create Read Update Delete, yaitu istilah untuk perintah ke database yaitu Create=INSERT, Read=SELECT, Update=UPDATE dan Delete=DELETE. Jadi di tutorial ini akan di jelaskan bagaimana membuat sebuah sistem yang nantinya bisa digunakan untuk INSERT, SELECT, UPDATE dan DELETE ke database MySQL dengan menggunakan Query SQL dan Bahasa Pemrograman PHP.

Apa itu OOP ?

OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari.

Login dengan SESSION

pada tutorial kali ini kalian belajar membuat session di login, Session adalah merupakan variable sementara yang diletakan di server dimana informasi yang dihasilkan dirujuk kepada user atau client tertentu. Seperti penerapan session pada login, php akan mengingat user / atau client yang telah login dan mempertahankan informasi user / client.

Ilustrasi Login dengan Session :

masuk ke form login -> mengisi form login -> cek informasi ke database jika benar -> membuat session -> lalu redirect masuk halaman admin yang digunakan khusus session.

Tahapan :

Tahapan-tahapan yang kita pelajari pada tutorial kali ini adalah :

  1. Membuat Database, dan table User
  2. Membuat koneksi php pdo dengan mysql
  3. membuat halaman login berserta proses login php oop
  4. Membuat crud dengan php oop table User

Spesifikasi : XAMPP yang versi PHP 5.6.x keatas rekomendasi PHP 7.x

Mulai Tutorial :

Membuat database baru

nyalakan Apache web server anda dan MySQL di XAMPP dan buka browser dan masuk phpmyadmin untuk membuat database baru, kali ini saya beri nama tutorial_phpoop untuk nama databasenya, dan buat table dengan nama tbl_user atau lebih cepat import aja script berikut ini simpan dengan ekstensi .sql dan import di phpmyadmin :

-- phpMyAdmin SQL Dump
-- version 4.9.0.1
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Waktu pembuatan: 26 Agu 2019 pada 13.02
-- Versi server: 10.3.16-MariaDB
-- Versi PHP: 7.3.8

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
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 utf8mb4 */;

--
-- Database: `tutorial_phpoop`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `tbl_user`
--

CREATE TABLE `tbl_user` (
  `id_login` int(11) NOT NULL,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `nama_pengguna` varchar(255) NOT NULL,
  `telepon` varchar(15) NOT NULL,
  `email` varchar(255) NOT NULL,
  `alamat` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `tbl_user`
--

INSERT INTO `tbl_user` (`id_login`, `username`, `password`, `nama_pengguna`, `telepon`, `email`, `alamat`) VALUES
(1, 'fauzan', '202cb962ac59075b964b07152d234b70', 'Fauzan Falah', '089618173609', '[email protected]', 'Bekasi'),
(2, 'faiz', '202cb962ac59075b964b07152d234b70', 'M Faiz', '081298669897', '[email protected]', 'Bekasi');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  ADD PRIMARY KEY (`id_login`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  MODIFY `id_login` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;

/*!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 */;

 

Cara menggunakan login.php id=
 

Jika sudah sampai tahap ini berarti anda sudah selesai membuat database tutorial_phpoop dan tbl_user sebagai tablenya.

Membuat Struktur Folder

langkah kali ini adalah membuat folder dan file php nya berikut struktur folder yang akan saya buat pada tutorial kali ini :

    

dalam folder proses :

     

Membuat Koneksi PHP dengan MySQL

pada langkah kali ini kita membuat koneksi antar php dengan mysql, koneksi kali ini saya menggunakan php pdo sebagai drivernya, pada OOP kita dirujuk menggunakan objek / model pada suatu aktivitas, biasa nya OOP diterapkan menggunakan class dan function pada PHP contoh script :

proses/koneksi.php

exec("set names utf8");
                $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                return  $dbConnection;
			}
			catch (PDOException $e) {
				return 'Connection failed: ' . $e->getMessage();
			}
		}
	}
?>

 keterangan :

- class koneksi yang berisi function DBConnect merupakan fungsi untuk menghubungkan php ke database mysql.

Membuat Class prosesCrud

langkah kita yang selanjutnya adalah membuat class prosesCrud yang berisi fungsi-fungsi untuk memanggil data dari database, melihat isi database, tambah/edit/hapus database dan membuat validasi proses untuk login atau lebih jelasnya lihat script dibawah yang sudah diberi komentar :

proses/prosescrud.php

db = $db;
    }

    function proses_login($user,$pass)
    {
        // untuk password kita enkrip dengan md5
        $row = $this->db->prepare('SELECT * FROM tbl_user WHERE username=? AND password=md5(?)');
        $row->execute(array($user,$pass));
        $count = $row->rowCount();
        if($count > 0)
        {
            return $hasil = $row->fetch();
        }else{
            return 'gagal';
        }
    }

    // variable $tabel adalah isi dari nama table database yang ingin ditampilkan

    function tampil_data($tabel)
    {
        $row = $this->db->prepare("SELECT * FROM $tabel");
        $row->execute();
        return $hasil = $row->fetchAll();
    }

    // variable $tabel adalah isi dari nama table database yang ingin ditampilkan
    // variable where adalah isi kolom tabel yang mau diambil
    // variable id adalah id yang mau di ambil
    
    function tampil_data_id($tabel,$where,$id)
    {
        $row = $this->db->prepare("SELECT * FROM $tabel WHERE $where = ?");
        $row->execute(array($id));
        return $hasil = $row->fetch();
    }

    function tambah_data($tabel,$data)
    {
        // buat array untuk isi values insert sumber kode 
        // http://thisinterestsme.com/pdo-prepared-multi-inserts/
        $rowsSQL = array();
        // buat bind param Prepared Statement
        $toBind = array();
        // list nama kolom
        $columnNames = array_keys($data[0]);
        // looping untuk mengambil isi dari kolom / values
        foreach($data as $arrayIndex => $row){
            $params = array();
            foreach($row as $columnName => $columnValue){
                $param = ":" . $columnName . $arrayIndex;
                $params[] = $param;
                $toBind[$param] = $columnValue;
            }
            $rowsSQL[] = "(" . implode(", ", $params) . ")";
        }
        $sql = "INSERT INTO $tabel (" . implode(", ", $columnNames) . ") VALUES " . implode(", ", $rowsSQL);
        $row = $this->db->prepare($sql);
        //Bind our values.
        foreach($toBind as $param => $val){
            $row ->bindValue($param, $val);
        }
        //Execute our statement (i.e. insert the data).
        return $row ->execute();
    }

    function edit_data($tabel,$data,$where,$id)
    {
        // sumber kode 
        // https://stackoverflow.com/questions/23019219/creating-generic-update-function-using-php-mysql
        $setPart = array();
        foreach ($data as $key => $value)
        {
            $setPart[] = $key."=:".$key;
        }
        $sql = "UPDATE $tabel SET ".implode(', ', $setPart)." WHERE $where = :id";
        $row = $this->db->prepare($sql);
        //Bind our values.
        $row ->bindValue(':id',$id); // where
        foreach($data as $param => $val)
        {
            $row ->bindValue($param, $val);
        }
        return $row ->execute();
    }

    function hapus_data($tabel,$where,$id)
    {
        $sql = "DELETE FROM $tabel WHERE $where = ?";
        $row = $this->db->prepare($sql);
        return $row ->execute(array($id));
    }


}
        

keterangan :

- class yang berisikan fungsi -fungsi mulai dari proses login, tampil data, edit data, tambah / update dan hapus (CRUD)

Membuat panggil.php

lalu setelah membuat class-class diatas, langkah selanjutnya adalah membuat file panggil.php taruh di folder proses  yang bertujuan untuk memanggil class-class yang kita buat tadi untuk digunakan fungsi fungsinya  :

DBConnect();
    // panggil class prosesCrud di file prosescrud.php
    $proses = new prosesCrud($koneksi);
    // menghilangkan pesan error
    error_reporting(0);
    // panggil session ID
    $id = $_SESSION['ADMIN']['id_login'];
    $sesi = $proses->tampil_data_id('tbl_user','id_login',$id);
?>

Membuat crud.php

setelah file class-class dan file panggil nya di buat, sekarang kita buat proses untuk mengirimkan data-data anda input ke database dengan sebuah fungsi dari class yang kita buat tadi,  supaya bisa tambah,edit,hapus dan autentikasi login, lalu method GET aksi berfungsi sebagai parameter untuk proses tersebut, misal tambah user diberikan script khusus tambah user, begitu pula edit dan sebagainya, dan semua login dan crud diatur dalam file ini dengan method GET aksi :

$user,
            'password'		=>md5($pass),
            'nama_pengguna'	=>$nama,
            'telepon'		=>$telepon,
            'email'			=>$email,
            'alamat'		=>$alamat
        );
        $proses->tambah_data($tabel,$data);
        echo '';
    }

    // proses edit
	if(!empty($_GET['aksi'] == 'edit'))
	{
		$nama = strip_tags($_POST['nama']);
		$telepon = strip_tags($_POST['telepon']);
		$email = strip_tags($_POST['email']);
		$alamat = strip_tags($_POST['alamat']);
		$user = strip_tags($_POST['user']);
		$pass = strip_tags($_POST['pass']);
		
        // jika password tidak diisi
        if($pass == '')
        {
            $data = array(
                'username'		=>$user,
                'nama_pengguna'	=>$nama,
                'telepon'		=>$telepon,
                'email'			=>$email,
                'alamat'		=>$alamat
            );
        }else{

            $data = array(
                'username'		=>$user,
                'password'		=>md5($pass),
                'nama_pengguna'	=>$nama,
                'telepon'		=>$telepon,
                'email'			=>$email,
                'alamat'		=>$alamat
            );
        }
        $tabel = 'tbl_user';
        $where = 'id_login';
        $id = strip_tags($_POST['id_login']);
        $proses->edit_data($tabel,$data,$where,$id);
        echo '';
    }
    
    // hapus data
    if(!empty($_GET['aksi'] == 'hapus'))
    {
        $tabel = 'tbl_user';
        $where = 'id_login';
        $id = strip_tags($_GET['hapusid']);
        $proses->hapus_data($tabel,$where,$id);
        echo '';
    }

    // login
    if(!empty($_GET['aksi'] == 'login'))
    {   
        // validasi text untuk filter karakter khusus dengan fungsi strip_tags()
        $user = strip_tags($_POST['user']);
        $pass = strip_tags($_POST['pass']);
        // panggil fungsi proses_login() yang ada di class prosesCrud()
        $result = $proses->proses_login($user,$pass);
        if($result == 'gagal')
        {
            echo "";
        }else{
            // status yang diberikan 
            session_start();
            $_SESSION['ADMIN'] = $result;
            // status yang diberikan 
            echo "";
        }
    }
?>

Mulai Mendesain

nah langkah selanjutnya kita buat desain html dengan menggunakan bootstrap, langkah ini tidak perlu mendownload source code bootstrap atau pun plugin tambahan karena sudah di panggil dengan CDN, artinya hanya butuh koneksi internet agar desain dapat berjalan dengan baik :

login.php




    
        Belajar Login bersama codekop.com 
        
        
        
        

    
    
    

Anda Berhasil Logout

Login Anda Gagal, Periksa Kembali Username dan Password

Sign in

Login

Kembali ke Home

index.php





	
		Tutorial Membuat CRUD PHP OOP dengan PDO MySQL
		
        
        
        
        
        

        
        
        
        
        
        

	
    
		


Selamat Datang, Logout

Tambah

Data Pengguna

tampil_data('tbl_user'); foreach($hasil as $isi){ ?>

No Nama Pengguna Telepon Email Alamat Username Password Aksi
****


Maaf Anda Belum Dapat Akses CRUD, Silahkan Login Terlebih Dahulu !


Login Disini

tambah.php





	
		Tambah Pengguna
		
		
	
    
		


Selamat Datang,

Kembali Logout


Tambah Pengguna

Tambah Data

edit.php

tampil_data_id('tbl_user','id_login',$idGet);
?>



	
		Edit Pengguna
		
		
	
    
		


Selamat Datang,

Kembali Logout


Edit Pengguna -

Edit Data

logout.php

Perhatikan Sintak diatas file berikut :

exec("set names utf8");
                $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                return  $dbConnection;
			}
			catch (PDOException $e) {
				return 'Connection failed: ' . $e->getMessage();
			}
		}
	}
?>
0

kode berikut digunakan saat kondisi  jika session telah ada (!empty) maka kosongkan , jika tidak ada maka panggil session_start(); , cara ini efektif menanggulangi error kode saat memanggil fungsi session_start(), biasanya error yang dimunculkan karena terjadi double pemanggilan session_start() di file, atau halaman lain. script ini terletak di setiap halaman php

session_start() merupakan fungsi perintah awal jika kita ingin menggunakan fungsi sesi yang ada di php.


exec("set names utf8");
                $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                return  $dbConnection;
			}
			catch (PDOException $e) {
				return 'Connection failed: ' . $e->getMessage();
			}
		}
	}
?>
1

lalu kode ini membuat data user diambil dari sesi id login, dan mengambil data table user berdasarkan id dari sesi yang telah dibuat. script ini terletak di proses/panggil.php


exec("set names utf8");
                $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                return  $dbConnection;
			}
			catch (PDOException $e) {
				return 'Connection failed: ' . $e->getMessage();
			}
		}
	}
?>
2

kode ini untuk mengambil 1 data user dari tangkapan GET id ke table user, script ini terletak di edit.php


Hasil Program :

Setelah kita membuat skrip di atas, kita mulai uji coba project ini. Pertama kita buka dengan hasil sebagai berikut.

anda dapat demo aplikasinya dengan login :

Username : faiz

Password : 123

Tampilan Index.php sebelum login :

 

Cara menggunakan login.php id=
 

Tampilan Login

 

Cara menggunakan login.php id=
 

Tampilan Index.php Sesudah Login

 

Cara menggunakan login.php id=
 

Lalu kita uji coba Tambah.php

 

Cara menggunakan login.php id=
 

Lalu kita uji coba Edit.php

Lalu kita uji coba Hapus

 

Cara menggunakan login.php id=
 

Oh ya, yang mau Download untuk referensi bisa klik tombol di bawah ini:

Download File Github

Selesai sudah tutorial kali ini, Silahkan di praktekan sendiri ya bro, usahakan scriptnya di ketik saja agar lebih mudah dipahami :D