С кодом, который у вас есть, есть возможность предоставления разрешения без намерения. Это маловероятно, но если по какой-то причине в вашем коде где-то есть логическая ошибка (не синтаксическая ошибка), если # 1, вы не перенаправлены, а остальные 2 не работают.
Я предлагаю использовать if.. elseif.. elseif.. else
. И, наконец, еще одно - перенаправление на вход в систему, как отказоустойчивое.
Вы также можете проверить длину входа в систему (или просто использовать встроенную длину сеанса CI).