Location:$HTTP_REFERER sunucuda çalışmıyor.

PHP ve MySQL ile ilgili yardım taleplerinizi paylaşabilirsiniz.
Cevapla
Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 347
Kayıt: 16 Şub 2009, 01:16

Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Özgür » 29 Ağu 2013, 18:01

session kontrolü ile Türkçe - İngilizce site hazırladım. Lokalde çalışıyor.
Location:$HTTP_REFERER özelliği sunucuda çalışmıyor.

Çıkan yazı:

Yönlendirme geçersiz

Açılmaya çalışılan konum hiçbir zaman sonlanmayacak bir yönlendirme döngüsüne girdi.

Bu sayfa düzgün biçimde yönlendirilmiyor. Bunun nedeni çerezlerin kabul
edilmemesi olabilir.

Kullandığım sayfa ise şöyle.

Kod: Tümünü seç

<?
session_start();
$dil=$_GET["dil"];
header("Location:$HTTP_REFERER");
?>
Sebebi ne olabilir yardımcı olur musunuz?

Kullanıcı avatarı
Gökhan
Deneyimli Üye
Deneyimli Üye
Mesajlar: 390
Kayıt: 11 Şub 2009, 22:57

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Gökhan » 29 Ağu 2013, 20:56

global değişkenler kapalı olduğundan sanırım, $_SERVER["..."] ile deneyin.

Kullanıcı avatarı
Gökhan
Deneyimli Üye
Deneyimli Üye
Mesajlar: 390
Kayıt: 11 Şub 2009, 22:57

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Gökhan » 30 Ağu 2013, 09:07

Bir de şu var, bu şekilde değişkene dayalı bir işlem yapıyorsak, örneğin yönlendirme, mutlaka varsyan (default) bir değer belirlemeliyiz.

Örnek;

Kod: Tümünü seç

if(!$HTTP_REFERER)
{
    $url = "index.php";
}else{
    $url = $HTTP_REFERER;
}

header("Location:$url");

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 347
Kayıt: 16 Şub 2009, 01:16

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Özgür » 30 Ağu 2013, 11:47

$_SERVER["..."] ile nasıl yazılıyor?

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 347
Kayıt: 16 Şub 2009, 01:16

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Özgür » 30 Ağu 2013, 12:46

Kod: Tümünü seç

<?
session_start();
$dil=$_GET["dil"];
header("Location:$_SERVER['HTTP_REFERER']");
?>
Böyle olacağını düşünürek denedim hata verdi.

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 347
Kayıt: 16 Şub 2009, 01:16

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Özgür » 30 Ağu 2013, 13:04

Kod: Tümünü seç

<?
session_start();
$HTTP_REFERER = $_SERVER['HTTP_REFERER'];
$dil=$_GET["dil"];
header("Location:$HTTP_REFERER");
?>
Böyle denedim olmadı.

Hareket noktası doğru sunucuya yazdım gelen cevap şöyle:
Hello,

Your PHP version may have been older on the old host. $HTTP_REFERER is deprecated. Please try $_SERVER['HTTP_REFERER']

Thanks!

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 347
Kayıt: 16 Şub 2009, 01:16

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Özgür » 30 Ağu 2013, 13:23

Kod: Tümünü seç

<?php
session_start();
$HTTP_REFERER = $_SERVER['HTTP_REFERER'];
if ((!$_GET['dil']) ) {
  $url = "index.php";
  
}
else {
  $url = $HTTP_REFERER;  
}
header("Location:$url");
?>
Böyle de denedim hata kalktı ama if'i çalıştırıyor ve index.php'ye gönderiyor yani dil değişkenini hala yokmuş gibi davranıyor.

Kullanıcı avatarı
Gökhan
Deneyimli Üye
Deneyimli Üye
Mesajlar: 390
Kayıt: 11 Şub 2009, 22:57

Re: Location:$HTTP_REFERER sunucuda çalışmıyor.

Mesaj gönderen Gökhan » 31 Ağu 2013, 11:58

HTTP_REFERER sayfaya gelinen önceki sayfanın urlsini verir, ilgili sayfayı doğrudan açıyorsanız zaten NULL olacaktır ve versayılan index.php ye gidecektir.

Cevapla

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir