Поскольку данные Flash - это функция, если искомая переменная не существует, она возвращает false или возвращает то, что вы в ней сохранили.
Вот как я это делаю. Сохраняет огромное количество возможностей обрезки и проверки. Вы можете, конечно, называть поля flashdata как хотите, я в основном придерживаюсь именования начальной загрузки при работе с ним.
Контроллер
$this->session->set_flashdata("success","1 Record Deleted");
$this->session->set_flashdata("error","1 Record Deleted");
$this->session->set_flashdata("info","1 Record Deleted");
$this->session->set_flashdata("warning","1 Record Deleted");
Просмотр файла
<?php if ($this->session->flashdata()): ?>
<div class="flashData">
<?php if($this->session->flashdata('success')): ?>
<div class="alert alert-success" role="alert">
<?php echo $this->session->flashdata('success') ?>
</div>
<?php endif ?>
<?php if($this->session->flashdata('error')): ?>
<div class="alert alert-danger" role="alert">
<?php echo $this->session->flashdata('error') ?>
</div>
<?php endif ?>
<?php if($this->session->flashdata('info')): ?>
<div class="alert alert-info" role="alert">
<?php echo $this->session->flashdata('info') ?>
</div>
<?php endif ?>
<?php if($this->session->flashdata('warning')): ?>
<div class="alert alert-warning" role="alert">
<?php echo $this->session->flashdata('warning') ?>
</div>
<?php endif ?>
</div>
<?php endif ?>
Несколько "ошибок" с сессиями
Убедитесь, что вы используете автозагрузку или загрузку сессий в вашем контроллере.
Во-вторых, убедитесь, что ваш application/config/config.php
правильно настроен См. Сеансы CI
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . '/cache/sessions/'; //<- must be read/write directory for files.
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;