Возврат на предыдущую страницу методом PHP в MVC

Есть страница пользователя user/id, шаблон mvc. На страницу пользователя можно попасть через поиск на сайте, либо через личные контакты, либо введя id в строку браузера. На странице пользователя есть поле отправки ему короткого сообщения. Как сделать так что бы после ввода и отправки этого сообщения отправитель сообщения переправлялся на предыдущую страницу или на главную, если был прямой заход на профиль. Пробовал через $_SERVER['HTTP_REFERER'], но проблема в том что если обновить страницу пользователя, то переадресация идет на саму страницу и вызывает ошибку mvc. Интересует решение только через PHP, в какую сторону вообще 'глядеть'


Ответы (1 шт):

Автор решения: Borislav

Если у вас реализована полноценная архитектура MVC-приложения, то у вас должен быть роутинг, то получится что-то подобное и будет работать корректно, вы же можете свою переменную $_SERVER['HTTP_REFERER'] проверять на соответствие текущей странице (код только для примера):

    /**
     * @var bool $activeCurPage
     */
    $activeCurPage = preg_match ("/$_SERVER [REQUEST_SCHEME]://$_SERVER [HTTP_HOST]$_SERVER [REQUEST_URI]/", $_SERVER ['HTTP_REFERER']);

    if (!$activeCurPage) {
        redirect (createRedirectUrl ($_SERVER ["REQUEST_URI"]));
    } else {
        redirect (createRedirectUrl ('/main')); // ну или как там у вас
    }
→ Ссылка