Hi I was wondering how when a user comes to one of my web pages, say "page.html" I would like to check if the last page they visited before they came to "page.html" was "google.com" (or any other website). Is there a way to do this or must I have control of the the other web page that they are coming from in order to monitor this? I assume this can be done in php if it is possible.
Asked
Active
Viewed 742 times
3
-
Possible duplicate of [How do you access browser history?](http://stackoverflow.com/questions/48805/how-do-you-access-browser-history) – Alex Kalicki Aug 16 '12 at 15:48
-
He wanted to access browser history, I just wanted to know how to monitor how a user comes to my website, different question. – Twisterz Aug 16 '12 at 16:02
3 Answers
5
You're looking for the HTTP Referer value, which in PHP you get using $_SERVER['HTTP_REFERER']
. Note that this is an entirely arbitrary value volunteered by the client's browser, so it's not guaranteed to be correct or trustable.

deceze
- 510,633
- 85
- 743
- 889
-
1Also worth noting... Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol. So HTTP_REFERER will be empty if user comes from HTTPS site (e.g. Google), to your HTTP (non secure) site. – Dejan Marjanović Aug 16 '12 at 15:51
-
So this value is not very dependable. That is somewhat of an issue, because I need it to be. Any ideas on how I could make it more dependable, or use a different function that is? – Twisterz Aug 16 '12 at 15:52
-
@Twisterz If you do not control the originating server where you could make it hand over some token or cookie or something else... No. – deceze Aug 16 '12 at 15:54
2
Use PHPs $_SERVER
variable to get the referrer to your page.
http://php.net/manual/en/reserved.variables.server.php
$_SERVER['HTTP_REFERER'];

WhoaItsAFactorial
- 3,538
- 4
- 28
- 45
1
Have a look at the $_SERVER documentation you want $_SERVER['HTTP_REFERER']
but take note that it's not always going to be set, it depends on the user agent.

piddl0r
- 2,431
- 2
- 23
- 35
-
Is there anyway to guarantee it being set, or using a different function that is more dependable? – Twisterz Aug 16 '12 at 15:49
-
1this question has an accepted answer that will help understand when it won't be set : http://stackoverflow.com/questions/6880659/in-what-cases-will-http-referer-be-empty – piddl0r Aug 16 '12 at 16:01