M K H U D A B L O G
mengelola web dengan android

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.

plusTroubleshooting

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

3 Comments

  • baja

    December 17, 2015

    Ada solusi lain boss…? Saya masih blank alias gak teralihkan ke halaman admin

    Reply
  • bunbun

    April 9, 2018

    its work 🙂 thank you

    Reply
  • Emirza

    August 2, 2021

    Oke, ini solusi mantep betul…
    Semula code saya begini :
    header(“location: form2_hasilpmb.php?id=$RegistrasiID&&ujian_id=$ujianID”);

    saya ganti menjadi =
    echo ”;

    Reply

Leave A Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.