opencart перенаправляет ту же страницу после входа в систему


opencart перенаправляет ту же страницу после входа в систему

19.03.2014 05:24:09 Просмотров 94 Источник

я новичок в opencart. теперь у меня есть сделать некоторые ограничения категории означает, что пользователь должен войти в систему, чтобы увидеть эту категорию. поэтому, когда пользователь нажимает на эту категорию, если он не вошел в систему, то он перенаправит на страницу входа. Вышеуказанный процесс работает нормально теперь, как только я войду в систему, я хочу перенаправить на ту же страницу категории. когда я прихожу на страницу входа в систему, я вижу значение " $_SERVER ['HTTP_REFERER']", как я хочу

site.com/index.php?route=product/category&path=62

теперь, когда я читал учебник онлайн, то сказал мне изменить некоторый код в этом файле " project\catalog\controller\account\login.РНР" у меня есть заменить ниже код

$this->redirect($this->url->link('account/account', '', 'SSL'));

К

if (isset($_SERVER['HTTP_REFERER'])) {
                    $this->redirect($_SERVER['HTTP_REFERER']);
                } else {
                    $this->redirect(HTTPS_SERVER . 'index.php?route=account/account');
                }

когда я прихожу на страницу входа, у меня есть правая ссылка в HTTP_REFERER, но когда я нажимаю на логин, то он становится ссылкой входа в referer. так как же я могу это установить ?

можете ли вы подсказать мне, как я могу это сделать ? меня это смущает.

У вопроса есть решение - Посмотреть?

Ответы - opencart перенаправляет ту же страницу после входа в систему / opencart redirect same page after login

shadyyx

19.03.2014 05:54:51

Проблема заключается в том, что после запроса на вход (который должен быть отправлен) форма отправляется на тот же URL, таким образом, предыдущий реферер заменяется страницей входа. Это выглядит так::

  • реферер при перенаправлении на вход: site.com/index.php?route=product/category&path=62
  • реферер после запроса логина: site.com/index.php?route=account/login

Поэтому сохраните ваш текущий URL-адрес в сеансе в контроллере категорий, прежде чем перенаправлять на вход:

$this->session->data['redirect_after_login'] = "<CURRENT URL GOES HERE>";
$this->redirect($this->url->link('account/login'));

Теперь в контроллере входа после успешного действия входа проверьте, существует ли переменная сеанса, и если да, то перенаправьте на нее:

if(!empty($this->session->data['redirect_after_login'])) {
    $url = $this->session->data['redirect_after_login'];
    unset($this->session->data['redirect_after_login']);
    $this->redirect($this->session->data['redirect_after_login']);
}
Taras

06.10.2015 06:04:52

  1. Перед перенаправлением пользователя на страницу входа в систему вы можете установить переменную $this->session->data['redirect']на URL, куда пользователь будет перенаправлен при успешном входе в систему.

Следующий код, например, перенаправит посетителя на список адресов после успешного входа в систему:

$this->session->data['redirect'] = $this->url->link('account/address', '', 'SSL');
$this->redirect($this->url->link('account/login', '', 'SSL'));
  1. Или вы можете изменить каталог / контроллер / учетную запись / логин.что-то вроде этого.

A. Изменение

if ($this->customer->isLogged()) {  
    $this->redirect($this->url->link('account/account', '', 'SSL'));
}

к

if ($this->customer->isLogged()) {  
    $this->redirect($this->url->link('account/account', '', 'SSL'));
}elseif(!isset($this->session->data['redirect']) && isset($_SERVER['HTTP_REFERER'])){
    $this->session->data['redirect'] = $_SERVER['HTTP_REFERER'];
}

В. и перемены

$этом->редирект($этом->гиперссылка->связать('счета/счета', ", 'SSL с'));

к

if(!empty($this->session->data['redirect'])){
    $redirect = $this->session->data['redirect'];
    unset($this->session->data['redirect']);
    $this->redirect($redirect);
}else{
    $this->redirect($this->url->link('account/account', '', 'SSL')); 
}
Pavan Mehta

08.06.2018 09:55:30

Я создал расширение для этого на Opencart.

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=13998

Он имеет 3 Особенности: Страница после входа в систему. Страница после выхода из системы. Плюс Строгий Логин.

Помочь в развитии проекта:
Закрыть X