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.