Перейти к содержанию

Рекомендуемые сообщения

		$data['language'] = $this->load->controller('common/language');
		$data['currency'] = $this->load->controller('common/currency');
		$data['search'] = $this->load->controller('common/search');
		$data['cart'] = $this->load->controller('common/cart');
                if ($this->customer->isLogged()) {
                    $data['profile'] = $this->load->controller('account/profile');
                }
               else {
                    $data['autorisation'] = $this->load->controller('common/autorisation');
                }

Задача состоит в том, чтобы убирать кнопку входа и регистрации после входа пользователя и отображать профиль.

Все данные html от кнопок хранятся в <?php echo $autorisation; ?> 

Все данные html от профиля хранятся в  <?php echo $profile; ?> 

 

Задаю условие, что если пользователь авторезирован, то выводит одни данные, иначе другие.

Все работает, выводит все как нужно.

 

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

 

 

Подскажите, что я не так делаю?

 

Примечание: Если убрать все эти мои условия в файле header.php(задаю это условие там)  то пользователя не выбрасывает.

Изменено пользователем danya

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может, не нужно втыкать условия на уровне контроллера? пробуйте ставить условия непосредственно в шаблоне

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<?php if ($isLogged()) { ?>

<?php echo $profile; ?>

<?php } else { ?>

<?php echo $autorisation; ?>

<?php }?>

 

Если делать вот таким макаром, то результат тот же, но при входе иконки не меняются, при переходе на любую страничку опять выбрасывает. Хотя $isLogged = в контроллере этому: $data['isLogged'] = $this->customer->isLogged(); 

 


<?php if ($this->customer->isLogged()) { ?>

<?php echo $profile; ?>

<?php } else { ?>

<?php echo $autorisation; ?>

<?php }?>

 

Таким вообще не хочет открывать страницу.

Изменено пользователем danya

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

че за...

if ($this->customer->isLogged()) {
                    $data['reg_code'] = $this->load->controller('account/profile');
                }
               else {
                    $data['reg_code'] = $this->load->controller('common/autorisation');
                }

а в шаблоне

<?php echo $reg_code; ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Смотрите видео: http://www.youtube.com/watch?v=b82H_dEINgI&feature=youtu.be

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так это проблеме на этого кода

может быть у вас поломана библиотека customer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь сможет объяснить, если я убираю весь этот код, который писал выше и вхожу в профиль итд. все работает

 

видео прилагается:

http://www.youtube.com/watch?v=Aod1qCXgy8o&feature=youtu.be

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я просто даже не знаю где искать проблему..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное что-то ломаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что? Все что я делаю показано на видео, нет никаких пауз итд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ап.. подскажите куда сунуться для поиска проблемы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все делается на уровне шаблона, никаких выкрутасов быть не должно

Зачем вообще лезть в контроллер для отображения того или иного блока в зависимости от условия?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите выше, я уже делал все в шаблоне, ошибка таже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз повторю..

Если default решение работает, а вше нет, то это значит, что вы что-то ломаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос что???? я всего лишь навсего добавляю новые данные и все.. причем показываю на видео, что там нет ничего такого..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не успеваю следить на видео, что вы там щелкаете и не хочу :) И качество видео - также оставляет желать лучшего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема решена, это я крабина,         //   $data['logout'] = $this->customer->logout(); 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.