Исходя из предоставленной вами информации, я бы сказал, что вы застряли в бесконечном цикле перенаправления:
- Пользователь переходит на домашнюю страницу
- В конструкторе, он проверяет подписку и в случае сбоя перенаправляет на домашний
- ==> цикл!
У вас могут быть некоторые решения:
- Определитьчто вызываемый метод
index
и в этом случае не перенаправлять (вы можете использовать функцию router->fetch_method()
- Выполнить перенаправление на другой контроллер
- Не выполнять перенаправление вконструктор, но в каждой функции. Вам просто нужно поместить элемент управления подпиской в функцию и вызывать его в начале каждой функции.
Возможно, проще всего изменить ваше условие. От
if($foo == true)
К
if($foo == true && router->fetch_method() != 'index')
Так что, если CodeIgniter пытается достичь Индекса, он не будет перенаправлен снова.
(у меня нетPHP-сервер здесь, поэтому я не могу проверить точное значение). Но идея в том, что онповторно.