Get last page visited

2019-02-09 15:00发布

问题:

I need to know if a person that comes to my website went from an another specific website. Example:

  • User A visits www.youtube.com/myvideo and clicks on a link to my website.
  • User B visits google, search my website and click the link.

Results Message on my page:

  • User A: Welcome! You already know how it works, register now!
  • User B: Welcome! Please watch our video first at www.youtube.com/myvideo

My question is:

  1. Is it possible to know the last url the user visited before entering my page?
    I already tried $_SERVER['HTTP_REFERER'] with PHP, but it's not working correctly and I read that does not work on all browsers.
  2. Is there any language or php script to get this url, working on all browser correctly?

回答1:

The HTTP referer header is the only way. This is the data that is given to you in PHP via $_SERVER['HTTP_REFERER'].

Note that this header will work in most cases. Also note that it can be easily spoofed.



回答2:

Why not add a GET variable to the link on youtube - www.yoursite.com/?referrer=youtube

For discretion and appearance you could rewrite the URL to something like www.yoursite.com/youtube



回答3:

<?php 
    if (strpos($_SERVER['HTTP_REFERER'],'youtube') !== false){
        echo 'Welcome! You already know how it works, <a href="/register">register now!</a>';
    } else {
        echo 'Welcome! Please watch our video first at <a href="www.youtube.com/myvideo">www.youtube.com/myvideo</a>';
}?>