Cara membuat halaman login dengan php dan mysql

Buatlah sebuah direktori baru bernama

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;
1 di
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;
2 buat yang menggunakan XAMPP. Sedangkan yang menggunakan server apache2 dan nginx, silahkan buat di
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;
3.

Ikuti perintah berikut:

sudo chmod 777 /var/www/html -R # berikan hak akses dulu
mkdir /var/www/html/php-login-register # buat direktori baru
cd /var/www/html/php-login-register # pindah ke direktori baru

Buat tiga direktori di dalamnya:

mkdir css js img # buat tiga direktori sekaligus

Setelah itu buat file yang dibutuhkan:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php

Buka dengan VS Code:

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .

Sehingga kita memiliki struktur direktori seperti ini:

Cara membuat halaman login dengan php dan mysql

Setelah itu, silahkan ekstrak dan copy semua bahan yang di-download tadi ke sana.

Cara membuat halaman login dengan php dan mysql

Beres…

Semua bahan-bahan sudah siap.

Menyiapkan Database

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

Silahkan buka phpmyadmin http://localhost/phpmyadmin/ dan buat database baru bernama

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;
4.

Baca juga: Cara Masuk ke phpMyAdmin Tanpa Login cPanel.

Cara membuat halaman login dengan php dan mysql

Setelah itu, buatlah sebuah tabel baru dengan nama

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;
5 dan buat kolomnya seperti ini:

Cara membuat halaman login dengan php dan mysql

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;

Selesai, selanjutnya kita mulai coding…

Membuat Koneksi ke Database

Hal pertama yang harus kita lakukan adalah membuat kode untuk koneksi ke database.

Silahkan buka file

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;
6, lalu isi kodenya seperti ini:

<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}

Sesuaikan user dan password-nya dengan konfigurasi di komputermu. Karena di komputer saya, password mysql-nya menggunakan

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;
7.

Jika tidak menggunakan password, maka dikosongkan saja.

$db_pass = "";

Apa maksud kode config.php di atas?

Pertama kita membuat variabel untuk menyimpan konfigurasi database:

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

Setelah itu, kita membuat sebuah objek baru bernama

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;
8, objek ini kita perlukan untuk melakukan query ke database.

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);

Saat kita membuat objek PDO, kita gunakan blok Try/Catch untuk menangai error.

Coba kita tes.

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

php -S localhost:8000

Argumen

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;
9 menggunakan huruf besar/kapital.

Cara membuat halaman login dengan php dan mysql

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

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

Cara membuat halaman login dengan php dan mysql

Tapi kalau ada error, biasanya akan tampil seperti ini.

Cara membuat halaman login dengan php dan mysql

Membuat Halaman Utama

Halaman utama adalah halaman yang akan dibuka pertama kali oleh pengunjung web.

Halaman ini bertugas sebagai landing page, isinya cuma html saja.

Silahkan buka file

<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
0 lalu isi kodenya seperti ini:

mkdir css js img # buat tiga direktori sekaligus
0

Setelah itu, coba buka http://localhost:8000/.

Cara membuat halaman login dengan php dan mysql

Keren ‘kan?

O ya gambarnya kita pinjam dari Facebook 😄.

Tidak apa-apa, ini kan hanya untuk belajar saja. Nanti kalau sudah buat web sungguhan, tidak boleh menggunakan gambar orang lain tanpa izin.

Membuat 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.

Mari kita buat.

Silahkan buka file

<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
1, lalu isi dengan kode berikut:

mkdir css js img # buat tiga direktori sekaligus
1

Penjelasan:

Pertama kita membutuhkan objek

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;
8 untuk melakukan query, maka kita impor
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;
6 dengan fungsi
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
4.

mkdir css js img # buat tiga direktori sekaligus
2

Setelah itu, baru kita buat kode untuk menyimpan data ke database.

Sebelumnya, kita cek dulu. Apakah tombol Register sudah ditekan atau belum:

mkdir css js img # buat tiga direktori sekaligus
3

Selanjutnya melakukan filter dan enkripsi password terhadap data yang diinputkan:

mkdir css js img # buat tiga direktori sekaligus
4

Kenapa harus di-filter dan dienkripsi?

Jangan percaya pada apa yang diinputkan user, bisa saja mereka menginputkan

<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
5 dan
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
6 seperti ini:

Cara membuat halaman login dengan php dan mysql

Ini salah satu bentuk serangan XSS.

Karena itu, kita harus memfilternya agar skrip yang diinputkan user diubah menjadi karakter yang aman.

Cara membuat halaman login dengan php dan mysql

Lalu kenapa password harus dienkripsi?

Tujuannya untuk keamanan. Nanti kalau database dicuri, si pencuri tidak akan tahu password dari akun-akun yang sudah terdaftar.

mkdir css js img # buat tiga direktori sekaligus
5

Tunggu dulu…

Kenapa password tidak di-filter?

Karena agar user dapat menggunakan simbol untuk membuat password.

Kalau kita filter nanti user tidak bisa membuat password dengan simbol-simbol seperti:

<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
7,
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
8,
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
9,
$db_pass = "";
0, dll.

Setelah data di-filter, selanjutnya kita buat query dengan objek

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;
8.

mkdir css js img # buat tiga direktori sekaligus
6

$db_pass = "";
2 adalah placeholder. Tujuannya agar terhindar dari serangan SQL Injection.

Setelah itu, kita bind parameter atau mengisi placeholder dengan nilai yang kita dapatkan dari hasil filter.

mkdir css js img # buat tiga direktori sekaligus
7

Selanjutnya, kita eksekusi query-nya:

mkdir css js img # buat tiga direktori sekaligus
8

Eksekusi query akan menghasilkan nilai

$db_pass = "";
3 jika berhasil.

Sehingga kita bisa membuat sebuah kondisi:

mkdir css js img # buat tiga direktori sekaligus
9

Lalu yang terakhir adalah kode untuk form registernya:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
0

Atribut

$db_pass = "";
4 artinya data akan dikirim ke file itu sendiri, yaitu:
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
1.

Mudah bukan?

Selanjutnya kita akan membuat fitur login.

Membuat Fitur Login di PHP

Silahkan buka file

$db_pass = "";
6 lalu isi—ketik! jangan copas—dengan kode berikut:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
1

Penjelasan:

Algoritmanya hampir sama seperti register.

Pertama kita mengimpor file

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;
6:

mkdir css js img # buat tiga direktori sekaligus
2

Setelah itu, kita cek apakah tombol login sudah ditekan atau belum:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
3

Lalu melakukan filter:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
4

Selanjutnya melakukan query:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
5

Pada query, kita menggunakan logika

$db_pass = "";
8 agar user bisa login dengan
$db_pass = "";
9 dan
<?php

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";

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());
}
5 .

Selanjutnya bind parameter dan ekekusi querynya.

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
6

Setelah query dieksekusi, kita ambil hasilnya dengan fungsi

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
1.

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
7

Artinya, kita akan mengambil hasil query sebagai array assosiatif.

Fungsi

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
1 akan menghasilkan
$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
3 kalau tidak ada data, maka kita bisa membuat kondisi seperti ini:

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
8

Selanjutnya, kita lakukan verifikasi password yang diinputkan oleh user dengan password yang ada di database.

# membuat file kosong
touch index.php login.php register.php logout.php timeline.php auth.php config.php
9

Fungsi

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
4 akan menghasilkan nilai
$db_pass = "";
3 kalau password yang diinputkan sama dengan yang di database.

Langkah terakhir adalah membuat session dan mengalihkannya ke halaman

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
6.

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .
0

Variabel

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
7 adalah variabel super global yang bisa dibaca dari semua file PHP, karena diingat oleh server.

Untuk dapat menggunakan variabel

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
7 kita harus memanggil fungsi
$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
9 terlebih dahulu.

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
0 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 membuat kode untuk halaman

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
6, kita buat dulu
$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
2.

File

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
2 berfungsi untuk mengecek session, apakah user sudah login atau belum.

Silahkan buka file

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
2 kemudian isi seperti ini:

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .
1

Penjelasan:

Seperti penjelasan sebelumnya, saat kita ingin menggunakan variabel

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
7, maka kita harus memanggil fungsi
$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
9 terlebih dahulu.

Setelah itu kita cek dengan:

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .
2

Artinya, jika variabel

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
7 tidak memiliki nilai, maka user belum login… paksa dia untuk login 😄.

Tanda seru (

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
8) di depan
$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
9 artinya tidak. Berarti tidak ter-set (variabel belum dibuat).

Nah barulah sekarang kita buat halaman

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
6.

Silahkan buka file

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
6, lalu isi dengan kode berikut:

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .
3

Halaman

$db_host = "localhost";
$db_user = "root";
$db_pass = "kopi";
$db_name = "pesbuk";
6 hanya boleh dibuka oleh user yang sudah login saja. Maka kita harus mengeceknya.

Bagaimana caranya?

Cukup dengan mengimpor file

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
2:

# buka direktori ini dengan VS Code, pastikan kamu sudah menginstall VS Code
code .
4

Apa bila user-nya belum login, maka dia akan dialihkan ke halaman login. Sesuai kondisi logika yang kita buat pada file

$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
2.