𝟭𝟬 𝗕𝘂𝗴 𝗣𝗛𝗣 𝗧𝗲𝗿𝗮𝘁𝗮𝘀 𝘆𝗮𝗻𝗴 𝗦𝗲𝗿𝗶𝗻𝗴 𝗗𝗶𝗹𝗮𝗸𝘂𝗸𝗮𝗻 𝗣𝗲𝗺𝘂𝗹𝗮
Anda menulis kode. Anda memuat ulang halaman. Anda melihat layar putih kosong.
Ini terjadi karena secara default PHP gagal secara diam-diam (fails silently). Anda harus memaksanya untuk menampilkan error selama masa pengembangan.
Tambahkan baris ini di bagian atas file Anda:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Jangan gunakan ini di lingkungan produksi. Gunakan log file sebagai gantinya.
Berikut adalah 10 kesalahan umum dan cara memperbaikinya:
Missing Semicolons (Titik Koma yang Hilang) PHP berhenti bekerja jika Anda lupa menulis titik koma. Hal ini sering menyebabkan crash tanpa pesan error. Solusi: Pastikan setiap pernyataan diakhiri dengan titik koma.
Loose Comparison (== vs ===) Tanda sama dengan ganda melakukan koersi tipe (type coercion). Ini menyebabkan kesalahan logika. Solusi: Gunakan tiga tanda sama dengan (===). Ini memeriksa nilai sekaligus tipenya.
Undefined Variables (Variabel yang Tidak Terdefinisi) Menggunakan variabel sebelum Anda menetapkannya akan merusak logika Anda. Solusi: Gunakan operator null coalescing. Contoh:
$name = $_GET['name'] ?? 'Guest';Global Variable Scope (Cakupan Variabel Global) Fungsi tidak dapat melihat variabel yang berada di luarnya. Solusi: Masukkan variabel ke dalam fungsi sebagai parameter.
SQL Injection Membangun query dengan input pengguna memungkinkan peretas untuk mencuri data. Solusi: Gunakan prepared statements dengan placeholder (?).
Cross-Site Scripting (XSS) Mencetak input pengguna secara langsung memungkinkan skrip berbahaya berjalan di browser. Solusi: Bungkus output dengan
htmlspecialchars().Headers Already Sent (Header Sudah Terkirim) Anda tidak dapat mengalihkan (redirect) pengguna jika Anda sudah mengirimkan teks ke browser. Bahkan satu spasi saja dapat menyebabkan error ini. Solusi: Letakkan pemanggilan
header()di bagian paling atas. Selalu gunakanexit()setelah melakukan redirect.Undefined Array Keys (Key Array yang Tidak Terdefinisi) Mengakses key form yang tidak ada akan menyebabkan peringatan (warning). Solusi: Gunakan operator null coalescing untuk semua data
$_POSTdan$_GET.Include vs Require
includehanya menampilkan peringatan jika file hilang. Skrip akan terus berjalan dan mengalami crash di kemudian hari. Solusi: Gunakanrequire_onceuntuk file-file penting seperti koneksi database.Unchecked Return Values (Nilai Kembalian yang Tidak Diperiksa) Banyak fungsi PHP mengembalikan
falsejika gagal. Jika Anda langsung menggunakan hasil tersebut, Anda akan mendapatkan lebih banyak error. Solusi: Periksa apakah hasilnyafalsesebelum menggunakannya.
Ringkasan untuk sukses:
- Aktifkan pelaporan error selama pengembangan.
- Gunakan
===untuk semua perbandingan. - Sanitasi semua input pengguna.
- Periksa nilai kembalian.
Source: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh