У меня есть две папки, шаблоны. Внутри страниц у меня есть две папки, не являющиеся членами и членами. Внутри шаблонов у меня есть header.php и footer.php. В папке я не являющейся членом есть файл уведомление, email_notification.php, наряду с другими файлами, как home.php, about.php и т.д.Как я могу запретить доступ к одному конкретному виду в кодеигнитре напрямую через url?
страницы генерируется динамически с помощью следующей функции
public function index(){
$this->nonmember();
}
public function nonmember($page = 'home'){
if (! file_exists(APPPATH.'views/pages/nonmember/'.$page.'.php')) {
show_404();
}
$data['title'] = ucfirst($page);
$this->load->view('templates/header', $data);
$this->load->view('pages/nonmember/'.$page, $data);
$this->load->view('templates/footer', $data);
}
И назвав его в для показа Логин страницу или на страницу регистрации
public function registration(){
//validation rules
if($this->form_validation->run()){
//add user to a temporary table
//send an email with an activation code
$this->nonmember('email_notification');
//that view says click the link in email for activating account
}else{
$this->nonmember('registration');
}
}
Проблема в том, что вид email_notification также могут быть доступны через URL, который не является желательным. Как я могу запретить email_notification от прямого доступа? например, если пользователь пытается получить к нему доступ, используя url Я хочу перенаправить их на домашнюю страницу или show_error()?
Я рекомендую вам установить переменный сеанс, а затем не загрузят вид, если она не существует. –
Показать 'email_notification'. –
@DwayneTowell email_notification - это только раздел тела, в котором говорится, что электронное письмо было отправлено с ссылкой активации, нажмите на ссылку, чтобы активировать свою учетную запись. Но см. Мой собственный ответ, который я использовал, как рекомендовал Джеймс Латор. – user1906399