Php Referral URL

7 Cevap

Yani bir ziyaretçi geldi sayfası almak için çalışıyorum. Ben bir php dosyasına bu kodu yerleştirilir ve ben sayfanın URL'sini görmek için çalışıyorum ama bu, herhangi bir öneri çalışmıyor?

<?php 

  $ref = getenv("HTTP_REFERER"); 
  echo $ref; 

?>

(added this after some answers) I have also tried

print $_SERVER["HTTP_REFERER"];

ve bu da işe yaramazsa

i web sitesi birçok kez, emin değilim neden ilk etapta bir sorun vardı, yine de teşekkürler :) güncellenen sonra çalıştı

7 Cevap

Eğer $_SERVER superglobal üzerinden erişen denediniz mi?

print $_SERVER["HTTP_REFERER"];

Bir CGI betiği olarak yürütülüyor eğer getenv() kullanılır. Eğer kullandığınız bir SAPI ile $_SERVER["HTTP_REFERER"].

$ _SERVER ['HTTP_REFERER'] bu bilgilere erişmek için en iyi yoldur.

Diğer tepkiler üzerine yorumlarınızı dayanarak:

  1. Aslında bir yere geliyor? Eğer tarayıcınızı yenileyin eğer bu değer olası gönderilmeyecektir. Yani tarayıcı başlık gönderiyor emin olun. Eğer bir kamu url bu komut koyarsanız, ben bunu kontrol ve doğrulamak için mutluluk duyarız.
  2. Eğer gerçekten tüm hataları açmalısınız. Başlık gönderilir ve yine erişmek değilse, PHP bir E_NOTICE çıkaracaktır. Eğer hata ayıklama kodu ediyorsanız tüm hata mesajı açmak ve hiçbir E_NOTICE ya da kötü olmadığından emin olun.

Maybe a stupid remark, but $_SERVER["HTTP_REFERER"] only works if you enter the page using a hyperlink. e.g.

/ Goto.html

<a href="refer.php">go to refer</a>

/ Refer.php

<?php
print "You entered using a link on ".$_SERVER["HTTP_REFERER"];
?>

Eğer tarayıcınızda doğrudan bağlantı konumunu girerseniz HTTP_REFERER çalışmaz.

$ref = $_SERVER['HTTP_REFERER'];

İlgili kılavuz sayfası: http://php.net/manual/en/reserved.variables.server.php

Again, read http://php.net/manual/en/reserved.variables.server.php: With HTTP_REFERER there is a comment:

Geçerli sayfaya kullanıcı ajanı sevk sayfasının adresi (varsa). Bu kullanıcı aracısı tarafından ayarlanır. Her kullanıcı bu koyacaktır, ve bazı bir özelliği olarak HTTP_REFERER değiştirme olanağı sağlar. Kısacası, it cannot really be trusted.

Eğer tüm bu cevapları hesaplaması, benzeyen şey ile sonuna kadar:

<?php
if isset($_SERVER['HTTP_REFERER']) {
    $ref = $_SERVER['HTTP_REFERER'];
}
else {
    $ref = "Direct Entry";
}
?>