Merhaba arkadaşlar, php’de bildiğiniz üzere “header” yönlendirme fonksiyonu bazı koşullarda çalışmıyor ve bunun için size hem alternatifler sunacağım hem de header fonksiyonunun hatalarını çözmeye çalışacağım. Bu olay küçük bir projemde başıma geldi ben de bunu makaleme almalıyım diye düşündüm, sıra sıra ekliyorum en beğendiğiniz fonksiyonu kullanabilirsiniz.
Header fonksiyonu kullanımı:
<?php header("Location:index.php"); ?>
Meta Refresh komutu ve kullanımı:
<?php function yonlendir($zaman,$url){ $dondur = '<meta http-equiv="refresh" content="'.$sure.';url='.$url.'">'; echo $dondur; } //kullanımı yonlendir(0,"index.php"); ?>
Javascript ile yönlendirme:
<?php function yonlendir($url) { $dondur = '<script type="text/javascript"> window.top.location = "$url'. $_SERVER[REQUEST_URI] .'"; </script>'; echo $dondur; } //Kullanımı yonlendir("index.php"); ?>
Header Fonksiyonunun çalışmamasıyla ilgili başka bir yöntem output buffering olayıdır.
Buffering olayını başlatmak için aşağıdaki kodu kodlarınızın en üstüne
ob_start()
Buffering olayını bitirmek için ise aşağıdaki kodu da kodlarınızın en altına yazın.
ob_end_flush()
Header fonksiyonunun bir başka çalışmama nedeni ise UTF-8 BOM (Byte Order Mark) olayıdır, pek fazla kişi tarafından bilinmemekte fakat UTF-8 bom ile yazılmışsa sayfanız karakter sorunları nedeniyle sitenin header’ını önce yüklemez bu nedenle bir çok hataya yol açabilir bu hatalardan biride Header fonksiyonunuzu etkilemektedir çözümü ise basit.
mutluluk sizinle olsun.
Comment
This is a really good read for me, thank you!