How to get the http referer in laravel?

PHPprogrammer42 picture PHPprogrammer42 · Aug 16, 2017 · Viewed 36.4k times · Source

I'm trying to get the Referer of my users. Like if they come from facebook, youtube, google or anything else.

Now I've tried something like that:

$referrer = $this->request->headers->get('referer');
$url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession();
return $url ?: $this->to('/'); // returns: Method referer does not exist.

This:

return $_SERVER["HTTP_REFERER"] // returns Undefined index: HTTP_REFERER

that:

session_start();
    
if ( !isset( $_SESSION["origURL"] ) ) {
    $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; // returns Undefined index: HTTP_REFERER
}

But nothing worked like expected.

Does someone know a solution how I can check the referer?

I need that because I want to check if the user comes from some specific URL's and if so, I want to give the user some extra "clicks" to rank up. Something like a small affiliate system.

Answer

Thibault Dumas picture Thibault Dumas · Aug 16, 2017

It seems like this will do what you are looking for :

Request::server('HTTP_REFERER').

You can read the Api DOC here :

http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_server