Cara Membuat Redirect (Pengalihan Halaman) di PHP

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

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *