Suatu ketika saya pernah membuat sebuah aplikasi web dengan sebuah function yang fungsinya untuk menentukan sebuah user di-redirect ke alamat tertentu. Function tersebut memiliki beberapa data / variabel yang didapat dari database untuk disimpan kedalam session PHP. Berikut adalah script yang saya pakai :
<?php session_start(); include 'config.php'; $username = $_POST['username']; $password = $_POST['pass']; $level = $_POST['level']; if ($level == 'Admin') { // query untuk mendapatkan record dari username $query = "SELECT * FROM user WHERE username = '$username' and level = 'admin'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); if ($password == $data['password']) { echo "sukses"; // menyimpan username dan level ke dalam session $_SESSION['level'] = $data['level']; $_SESSION['username'] = $data['username']; $_SESSION['password'] = $data['password']; $_SESSION['email'] = $data['email']; // Permasalahan dimulai dari sini header("Location:admin/index.php"); exit; } else { echo "<center><h3>Login Error</h3> <br>"; echo "<a href='index.php'>Back</a>"; } } ?>
Nah, jika dilihat dan dicoba pada server dengan spesifikasi PHP terbaru. Script diatas mungkin akan berjalan secara normal, tidak ada permasalahan redirect ke halaman admin. Namun, terjadilah sebuah “tragedi” disaat aplikasi web tersebut saya install di server dengan spesifikasi PHP lama.
Permasalahannya adalah setelah user melakukan login, halaman tidak mau melakukan redirect ke admin page. Web berhenti di layar putih. Hal ini menyebabkan saya mencoba mengutak-atik kembali script login tersebut. Akhirnya problem tersebut berada pada baris 25 script yang saya tulis di atas.
Troubleshooting
Setelah mencari dan Googling, akhirnya saya menemukan solusi yang menurut saya sangat simpel. Saya mengganti script Header Location tersebut dengan script Meta Refresh, berikut adalah script yang saya gunakan :
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=admin/index.php">'; exit;
Saya coba lagi menggunakan server PHP lawas akhirnya berjalan dengan normal. Perlu diketahui juga, script Meta Refresh dengan url container ini merupakan fitur klasik di PHP namun bisa digunakan untuk versi PHP lawas. Selamat mencoba
Ada solusi lain boss…? Saya masih blank alias gak teralihkan ke halaman admin
its work 🙂 thank you
Oke, ini solusi mantep betul…
Semula code saya begini :
header(“location: form2_hasilpmb.php?id=$RegistrasiID&&ujian_id=$ujianID”);
saya ganti menjadi =
echo ”;