73

Suppose my site's url is given as hyperlink on some page on the internet; that page could be anything on internet - blog, orkut, yahoo, even stackoverflow etc, and someone clicks on it,and visited my site. So can we know, using php, the previous url from which the visitor came to my page?

0

7 Answers 7

143

Use the $_SERVER['HTTP_REFERER'] header, but bear in mind anybody can spoof it at anytime regardless of whether they clicked on a link.

Sign up to request clarification or add additional context in comments.

5 Comments

Is it cross browser solution?
@NullPointer: Like I said in my answer, anybody can spoof it, so I guess the answer to your question is no.
No. I wanted to ask in different way.
I meant it that does it supported by all browsers?
@NullPointer yes it does, it supports all modern browsers.
27

$_SERVER['HTTP_REFERER'] is the answer

Comments

21

$_SERVER['HTTP_REFERER'] will give you incomplete url.

If you want http://bawse.3owl.com/jayz__magna_carta_holy_grail.php, $_SERVER['HTTP_REFERER'] will give you http://bawse.3owl.com/ only.

Comments

8

I can't add a comment yet, so I wanted to share that HTTP_REFERER is not always sent.

Notice: Undefined index: HTTP_REFERER

Comments

1

But you could make an own link for every from url.

Example: http://example.com?auth=holasite

In this example your site is: example.com

If somebody open that link it's give you the holasite value for the auth variable.

Then just $_GET['auth'] and you have the variable. But you should have a database to store it, and to authorize.

Like: $holasite = http://holasite.com (You could use mysql too..)

And just match it, and you have the url.

This method is a little bit more complicated, but it works. This method is good for a referral system authentication. But where is the site name, you should write an id, and works with that id.

Comments

1

Unfortunately, if the Referer header is not being sent by users' browsers, there is no reliable way to obtain the referring URL directly from the server side.

Comments

0

Basically we are using the $_SERVER['HTTP_REFERER'] for getting the previous url for our site but it is waste of time it gives you the half url. So, the best way to get previous URL is Javascript and Jquery.

1 Comment

Please share more details. How exactly would you do that? Also, what do you mean by "half url"?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.