Как вы выходите из выполнения программы codeigniter? - PullRequest
0 голосов
/ 14 сентября 2010

В настоящее время я работаю над добавлением предварительной проверки на мой сайт.Таким образом, страницы, требующие входа или других критериев, будут отображаться только в том случае, если ваш сеанс соответствует этим критериям.У меня большая часть системы работает, но у меня есть одно серьезное препятствие.Я не могу понять, как остановить CodeIgniter от запуска остальной части контроллера (и, таким образом, в любом случае показать страницу), когда проверка не пройдена.

Вот моя конфигурация:

  • Всемои страницы находятся в Контроллере контента
  • Моя система безопасности представляет собой модель с именем security.php
  • В закрытой функции _head (которая вызывается каждой страницей) я загружаю security.php и вызываюэто основная функция: run ()
  • $ this-> security-> run () получает конкретные критерии проверки страницы и проверяет их.

    • Если пользователь проходит, то run () ничего не делает, и выполнение страницы продолжается

    • Здесь мне нужна помощь .Если пользователь не проходит, мне нужно отобразить страницу с ошибкой и остановить контроллер от вызова любых других представлений.

Кто-нибудь знает, как это сделатьэто?

Спасибо,

Lemiant

Ответы [ 2 ]

1 голос
/ 14 сентября 2010

Вы можете сделать одну из двух вещей.А будет перенаправлять на другую страницу с другим URI.B будет использовать оператор if / else, чтобы выбрать, какое представление вы показываете под тем же uri.

Одна вещь, которую вам нужно сделать, это иметь метод безопасности, о котором вы говорили, возвращать TRUE или FALSE, если он успешен, илине.

Примеры:

A:

if(!$this->security->run())
{
    redirect('my/error/page');
}

B:

if($this->security->run())
{
    // Security Passes, proceed as normal
}
else
{
    // Security Fails, show error page
}

Надеюсь, это поможет

0 голосов
/ 14 сентября 2010

Как остановить выполнение codeigniter: die(); или exit();

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...