Setelah pengguna berhasil login atau mengirim form, biasanya kita mengarahkan mereka ke halaman lain. Proses ini disebut redirect, dan di PHP dilakukan lewat header HTTP. Artikel ini membahas cara redirect halaman di PHP dengan aman.
Fungsi header(“Location”)
<?php
header("Location: dashboard.php");
exit; // WAJIB, hentikan skrip setelah redirect
?>
Perhatikan exit; setelah header(). Tanpa itu, kode di bawahnya tetap berjalan dan bisa menimbulkan celah keamanan.
Contoh Kasus: Redirect Setelah Login
<?php
if ($login_berhasil) {
$_SESSION["user"] = $username;
header("Location: dashboard.php");
exit;
} else {
header("Location: login.php?error=1");
exit;
}
?>
Jebakan: “Headers Already Sent”
Error paling umum saat redirect adalah “headers already sent”. Ini terjadi karena header() harus dipanggil sebelum ada output apa pun ke browser — bahkan satu spasi atau baris kosong di luar tag PHP pun bisa memicunya.
<?php
// SALAH: sudah ada output sebelum header
echo "Memproses...";
header("Location: home.php"); // error!
?>
Alternatif: Redirect via JavaScript
Bila output terlanjur dikirim, redirect bisa dilakukan lewat JavaScript sebagai cadangan:
<script>window.location.href = "home.php";</script>
Kesimpulan
Gunakan header("Location: ...") diikuti exit; untuk redirect di PHP. Pastikan tidak ada output sebelum pemanggilan header agar terhindar dari error “headers already sent”.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

