10 Bug PHP Teratas yang Sering Dilakukan Pemula
Anda menulis kode. Anda menyegarkan halaman. Anda melihat layar putih kosong.
Ini terjadi karena secara default PHP gagal secara diam-diam (fails silently). Jika Anda tidak melihat error, Anda tidak dapat memperbaikinya.
Mulailah pengembangan Anda dengan menambahkan baris-baris ini di bagian atas file Anda:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Ini memaksa PHP untuk menunjukkan apa yang salah. Jangan gunakan ini di lingkungan produksi (production).
Berikut adalah 10 bug umum dan cara memperbaikinya.
Titik Koma yang Hilang PHP membutuhkan titik koma untuk mengakhiri sebuah pernyataan. Jika Anda melewatkannya, skrip akan berhenti. Perbaikan: Selalu akhiri baris Anda dengan titik koma.
Perbandingan Longgar (Loose Comparison) Operator
==mengubah tipe data sebelum membandingkan. Hal ini menyebabkan hasil yang salah. Perbaikan: Gunakan===. Ini akan memeriksa nilai sekaligus tipe datanya.Variabel yang Tidak Terdefinisi Menggunakan variabel yang tidak Anda buat akan menyebabkan kesalahan logika. Perbaikan: Gunakan null coalescing operator.
$name = $_GET['name'] ?? 'Guest';Cakupan Variabel Global (Global Variable Scope) Fungsi tidak dapat melihat variabel yang berada di luar fungsi tersebut. Perbaikan: Masukkan variabel ke dalam fungsi sebagai parameter.
SQL Injection Memasukkan input pengguna secara langsung ke dalam query sangatlah berbahaya. Penyerang dapat mencuri data Anda. Perbaikan: Gunakan prepared statements dengan placeholder.
Cross-Site Scripting (XSS) Mencetak input pengguna mentah ke layar memungkinkan skrip berbahaya berjalan di browser. Perbaikan: Gunakan
htmlspecialchars()pada semua output.Kesalahan Header Anda tidak dapat mengirim header setelah mengirimkan teks atau spasi apa pun ke browser. Perbaikan: Letakkan pemanggilan
header()di bagian paling atas. Selalu gunakanexit()setelah melakukan pengalihan (redirect).Key Form yang Hilang Mengakses key form yang tidak ada akan menyebabkan error. Perbaikan: Gunakan null coalescing operator untuk memberikan nilai default.
Include vs Require Perintah
includehanya memberikan peringatan jika file hilang. Skrip akan terus berjalan dan mengalami crash di kemudian hari. Perbaikan: Gunakanrequire_onceuntuk file-file penting seperti koneksi database.Nilai Kembalian yang Tidak Diperiksa Banyak fungsi PHP mengembalikan
falsejika gagal. Menggunakan nilaifalsetersebut pada langkah berikutnya akan menyebabkan crash. Perbaikan: Periksa apakah fungsi mengembalikanfalsesebelum Anda menggunakan hasilnya.
Ringkasan untuk kode yang lebih baik:
• Aktifkan pelaporan error saat pengembangan.
• Gunakan === alih-alih ==.
• Periksa nilai kembalian.
• Sanitasi semua input pengguna.
Sumber: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh