Friday, July 9, 2021

Login dan Register dengan PHP & MySQL


Login dan register adalah fitur yang banyak dibutuhkan dalam pengembangan aplikasi web.

Biasanya saat membuat halaman admin. Kita pasti akan membuat login dan register.

Sebelum itu, saya ingin menyampaikan apa saja yang akan dibahas disini.

1. Tutorial ini menggunakan PHP Native dan PDO sebagai koneksi ke database.

2. Tutorial ini menggunakan Framework Bootstrap untuk tampilan.

3. Tutorial ini hanya akan fokus membahas fitur login dan register saja, untuk class - class bootstrap saya tidak akan jelaskan. Saya anggap, pembaca sudah paham dengan Bootstrap.


Sebagai bayangan, saya screenshot Page Home nya.



Persiapan Alat dan Bahan

Berikut ini alat - alat yang dibutuhkan :

1. Teks Editor :VS Code atau pakai yang lain juga boleh.

2. Web Browser :Google Chrome, Opera, Firefox, dll.

3. Server :PHP, Apache/Nginx, dan MySQL.


Sementara untuk bahan-bahannya silakan sediakan:

1. Bootsrap.

2. Beberapa Gambar


Membuat Project Baru

Buatlah sebuah direktori baru bernama php-login-register di htdocs buat yang menggunakan XAMPP.

Buatlah folder direktori seperti css, js,img.


Menyiapkan Database

Sebelum kita mulai menulis kode,siapkan dulu database-nya.

Silakan buka phpmyadmin http://localhost/phpmyadmin/ dan buat database baru bernama db_love (atau terserah yang kalian inginkan)



Setelah itu, buatlah sebuah tabel baru dengan nama users dan buat kolomnya seperti ini:



Kode SQL-nya:

CREATE TABLE `users` (
`id` int(11) NOT NULL,
`username` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`photo` varchar(255) NOT NULL DEFAULT 'default.svg'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `username` (`username`);

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;

Membuat Koneksi ke Database

Hal pertama yang harus kita lakukan adalah membuat kode untuk koneksi ke database. Silakan buat file config.php lalu isi kodenya seperti ini:

<?php $db_host = "localhost"; $db_user = "root"; $db_pass = ""; $db_name = "db_love"; try { //create PDO connection $db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass); } catch(PDOException $e) { //show error die("Terjadi masalah: " . $e->getMessage()); }

Coba kita test : Silakan buka terminal di VS Code (Tekan Ctrl + `), lalu jalankan server PHP di sana dengan perintah:

php -S localhost:8000

Argumen -S menggunakan huruf besar/kapital.



Sekarang buka : http://localhost:8000/config.php

Jika tampilannya kosong , maka koneksi berhasil dan tidak ada error.

Tapi kalau ada error, biasanya akan tampil ini.

Membuat Halaman Utama

Halaman utamaadalah halaman yang akan dibuka pertama kali oleh pengunjung web. Halaman ini bertugas sebagai landing page, isinya cuma html saja. Silakan buka file admin.php lalu isi kodenya seperti ini:




Mmebuat Fitur Register di PHP

Berikutnya kita akan membuat fitur registrasi.

Alur kerjanya :

1. Input data dari form.

2. Filter data yang diinputkan.

3. Simpan ke database.

4. Kalau berhasil, alihkan ke halaman login.


Silakan buat file register.php lalu isi dengan kode berikut:



Membuat Fitur Login di PHP

Silakan buat file login.php lalu isi dengan kode berikut :



Variable $_SESSION adalah variable super global yang bisa dibaca dari semua file PHP, karena diiingat oleh server.

Untuk dapat memnggunakan variable $_SESSION kita harus memanggil fungsi session_start() terlebih dahulu.

$_SESSION["user"] = $user;artinya kita menyimpan data user ke dalam session.

Ini yang akan kita manfaatkan untuk mengecek apakah user sudah login atau belum.


Membuat Halaman Timeline

Sebelum membuay kode halaman timeline.php kita buat dulu auth.php

File auth.php nantinya akan berfungsi untuk mengecek session, apakah user sudah login atau belum.

Silakan buat file auth.php kemudian isikan kode berikut :

<?php session_start(); if(!isset($_SESSION["user"])) header("Location: login.php");

Selanjutnya kita buat file timeline.php, lalu isidengan kode berikut :



Halaman timeline.php hanya boleh dibuka oleh user yang sudah login saja. Maka kita harus mengeceknya.
Bagaimana caranya?
Cukup dengan mengimpor file auth.php:


<?php require_once("auth.php");?>

Apabila usernya belum login,maka dia akan dialihkan ke halaman login. Sesuaikondisi logika yang kita buat pada file auth.php

Karena kita sudah mengimpor file auth.php kita bisa menggunakan variable $_SESSION disini.

0 komentar:

Post a Comment

Hi...
:)
Thank You for your Comment.
I will reply as soon as possible.

Start Work With Me

Contact

Do you have any questions? Please do not hesitate to contact us directly. Our team will come back to you within a matter of hours to help you.

I Wayan Ryan Saputra
Jl.Tukad Penataran, Serangan,Bali - Indonesia