Buatlah sebuah direktori baru bernama 1 di 2 buat yang menggunakan XAMPP. Sedangkan yang menggunakan server apache2 dan nginx, silahkan buat di 3. Show Ikuti perintah berikut:
Buat tiga direktori di dalamnya:
Setelah itu buat file yang dibutuhkan:
Buka dengan VS Code:
Sehingga kita memiliki struktur direktori seperti ini: Setelah itu, silahkan ekstrak dan copy semua bahan yang di-download tadi ke sana. Beres… Semua bahan-bahan sudah siap. Menyiapkan DatabaseSebelum kita mulai menulis kode, siapkan dulu database-nya. Silahkan buka phpmyadmin http://localhost/phpmyadmin/ dan buat database baru bernama 4.Baca juga: Cara Masuk ke phpMyAdmin Tanpa Login cPanel. Setelah itu, buatlah sebuah tabel baru dengan nama 5 dan buat kolomnya seperti ini:Kode SQL-nya:
Selesai, selanjutnya kita mulai coding… Membuat Koneksi ke DatabaseHal pertama yang harus kita lakukan adalah membuat kode untuk koneksi ke database. Silahkan buka file 6, lalu isi kodenya seperti ini:
Sesuaikan user dan password-nya dengan konfigurasi di komputermu. Karena di komputer saya, password mysql-nya menggunakan 7.Jika tidak menggunakan password, maka dikosongkan saja.
Apa maksud kode config.php di atas? Pertama kita membuat variabel untuk menyimpan konfigurasi database:
Setelah itu, kita membuat sebuah objek baru bernama 8, objek ini kita perlukan untuk melakukan query ke database.
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:
Argumen 9 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 seperti ini. Membuat Halaman UtamaHalaman utama adalah halaman yang akan dibuka pertama kali oleh pengunjung web. Halaman ini bertugas sebagai landing page, isinya cuma html saja. Silahkan buka file 0 lalu isi kodenya seperti ini: 0Setelah itu, coba buka http://localhost:8000/. 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 PHPBerikutnya kita akan membuat fitur registrasi. Alur kerjanya:
Mari kita buat. Silahkan buka file 1, lalu isi dengan kode berikut: 1Penjelasan: Pertama kita membutuhkan objek 8 untuk melakukan query, maka kita impor 6 dengan fungsi 4. 2Setelah itu, baru kita buat kode untuk menyimpan data ke database. Sebelumnya, kita cek dulu. Apakah tombol Register sudah ditekan atau belum: 3Selanjutnya melakukan filter dan enkripsi password terhadap data yang diinputkan: 4Kenapa harus di-filter dan dienkripsi? Jangan percaya pada apa yang diinputkan user, bisa saja mereka menginputkan 5 dan 6 seperti ini:Ini salah satu bentuk serangan XSS. Karena itu, kita harus memfilternya agar skrip yang diinputkan user diubah menjadi karakter yang aman. Lalu kenapa password harus dienkripsi? Tujuannya untuk keamanan. Nanti kalau database dicuri, si pencuri tidak akan tahu password dari akun-akun yang sudah terdaftar. 5Tunggu 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: 7, 8, 9, 0, dll.Setelah data di-filter, selanjutnya kita buat query dengan objek 8. 6 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. 7Selanjutnya, kita eksekusi query-nya: 8Eksekusi query akan menghasilkan nilai 3 jika berhasil.Sehingga kita bisa membuat sebuah kondisi: 9Lalu yang terakhir adalah kode untuk form registernya: 0Atribut 4 artinya data akan dikirim ke file itu sendiri, yaitu: 1.Mudah bukan? Selanjutnya kita akan membuat fitur login. Membuat Fitur Login di PHPSilahkan buka file 6 lalu isi—ketik! jangan copas—dengan kode berikut: 1Penjelasan: Algoritmanya hampir sama seperti register. Pertama kita mengimpor file 6: 2Setelah itu, kita cek apakah tombol login sudah ditekan atau belum: 3Lalu melakukan filter: 4Selanjutnya melakukan query: 5Pada query, kita menggunakan logika 8 agar user bisa login dengan 9 dan 5 .Selanjutnya bind parameter dan ekekusi querynya. 6Setelah query dieksekusi, kita ambil hasilnya dengan fungsi 1. 7Artinya, kita akan mengambil hasil query sebagai array assosiatif. Fungsi 1 akan menghasilkan 3 kalau tidak ada data, maka kita bisa membuat kondisi seperti ini: 8Selanjutnya, kita lakukan verifikasi password yang diinputkan oleh user dengan password yang ada di database. 9Fungsi 4 akan menghasilkan nilai 3 kalau password yang diinputkan sama dengan yang di database.Langkah terakhir adalah membuat session dan mengalihkannya ke halaman 6. 0Variabel 7 adalah variabel super global yang bisa dibaca dari semua file PHP, karena diingat oleh server.Untuk dapat menggunakan variabel 7 kita harus memanggil fungsi 9 terlebih dahulu. 0 artinya kita menyimpan data user ke dalam session.Ini yang akan kita manfaatkan untuk mengecek apakah user sudah login atau belum. Membuat Halaman TimelineSebelum membuat kode untuk halaman 6, kita buat dulu 2.File 2 berfungsi untuk mengecek session, apakah user sudah login atau belum.Silahkan buka file 2 kemudian isi seperti ini: 1Penjelasan: Seperti penjelasan sebelumnya, saat kita ingin menggunakan variabel 7, maka kita harus memanggil fungsi 9 terlebih dahulu.Setelah itu kita cek dengan: 2Artinya, jika variabel 7 tidak memiliki nilai, maka user belum login… paksa dia untuk login 😄.Tanda seru ( 8) di depan 9 artinya tidak. Berarti tidak ter-set (variabel belum dibuat).Nah barulah sekarang kita buat halaman 6.Silahkan buka file 6, lalu isi dengan kode berikut: 3Halaman 6 hanya boleh dibuka oleh user yang sudah login saja. Maka kita harus mengeceknya.Bagaimana caranya? Cukup dengan mengimpor file 2: 4Apa bila user-nya belum login, maka dia akan dialihkan ke halaman login. Sesuai kondisi logika yang kita buat pada file 2. |