Получите REFERRER в laravel

Я новичок в ларавеле, так что, может, пожалуйста, не бей меня :-)

Я пытаюсь таким образом получить реферер внутри контроллера

$from=Request::server('HTTP_REFERER');

В результате я получаю эту ошибку

Non-static method Illuminate\Http\Request::server() should not be called statically, assuming $this from incompatible context

Вверху от контроллера находится

namespace Common\Auth\Controllers;

use Auth;
use Illuminate\Http\Request;
use Common\Settings\Settings;
use Common\Core\Controller;
use Common\Core\BootstrapData;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Common\Auth\User;

Надеюсь, кто-нибудь сможет показать мне, как я могу заставить реферера преподать мне небольшой урок по этому поводу.

Большое спасибо.

Обновлять.

А пока я добавил "имя функции (Request $ request)" в свою функцию и внутри функции "$ this-> request = $ request;"

Теперь я могу получить доступ к некоторой информации с помощью "$ this-> запрос-> ip ();".

Если я попытаюсь повторить эхо, что "$ this-> request-> заголовок ('HTTP_REFERRER')" ничего не отобразится?

Имейте в виду, что официальный заголовок HTTP_REFERRER неправильно написан как HTTP_REFERER (обратите внимание, что там нет двойного R).

Magmatic 16.09.2021 17:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
5 508
7

Ответы 7

Я не знаю, почему фасад запроса laravel не работает, как указано выше, но вы можете получить такой заголовок

function example(Request $request) {
    dd($request->header('HTTP_REFERRER'));
}

убедитесь, что ваш метод доступен из маршрута

"убедитесь, что ваш метод доступен из маршрута" извините, что вы имеете в виду?

StefB 25.11.2018 12:51

как в web.php Route :: get ('/ example', 'class @ example');

Ardy Febriansyah 25.11.2018 12:52

Вы также можете получить референт прямо из PHP, используя вместо него $_SERVER['HTTP_REFERER'].

Чтобы получить полный URL-адрес для предыдущего запроса, используйте вспомогательную функцию Laravel.

url()->previous();

Вы также можете получить к нему доступ через фасад URL

URL::previous();

Обязательно разрешите импорт, если вы используете фасад URL.

use Illuminate\Support\Facades\URL;

Документ Laravel

// with request helper function from anywhere in your application
$from = request()->getSchemeAndHttpHost();

// with request method. this return http:// part too
$from = $request->getHttpHost();

источник: https://stackoverflow.com/a/39835651/10482374

пожалуйста, измените это:

use Illuminate\Http\Request;

с участием:

use Request;

Просмотр дескриптора URL :: previous () в UrlGenerator @ предыдущий показать доступ к рефереру с $this->request->headers->get('referer');

Вы можете получить реферер из заголовков запроса:

$uri = $request->header('referer');

В котором $request является введенным по умолчанию Illuminate\Http\Request

Подробнее читайте в заголовках запроса.

Другие вопросы по теме