Sarfaraz Nawaz
Sarfaraz Nawaz

Reputation: 361462

How to get the previous url using PHP

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?

Upvotes: 72

Views: 180343

Answers (7)

Jetro Bernardo
Jetro Bernardo

Reputation: 67

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.

Upvotes: 1

Sohang Tyagi
Sohang Tyagi

Reputation: 35

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.

Upvotes: 0

Kristóf Bella
Kristóf Bella

Reputation: 21

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.

Upvotes: 1

Nick DuBois
Nick DuBois

Reputation: 217

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

Notice: Undefined index: HTTP_REFERER

Upvotes: 8

Andreyco
Andreyco

Reputation: 22872

$_SERVER['HTTP_REFERER'] is the answer

Upvotes: 27

Junius L
Junius L

Reputation: 16132

$_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.

Upvotes: 21

BoltClock
BoltClock

Reputation: 723638

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

Upvotes: 141

Related Questions