У меня проблема с сеансом flashdata. никогда не отображается сообщение, содержащее сеанс. Я прочитал много сообщений на странице. но я не нашел решение проблемысеанс flashdata не работает корректно в codeigniter 2.2
У меня есть эти маршруты:
//index is a subfolder into the controllers folder
//user is a controller
$route['login'] = 'index/user/showLogin';
$route['do_login'] = 'index/user/doLogin';
$route['register'] = 'index/user/showRegister';
$route['do_register'] = 'index/user/doRegister';
User.php контроллер:
public function showRegister()
{
$this->template->set('title', 'test register');
$this->template->load('template', 'index/register', $data);
}
public function doRegister()
{
$this->form_validation->set_rules('email', 'Email', 'required|trim|max_length[30]|xss_clean|valid_email|is_unique[users.email]|');
$this->form_validation->set_rules('password', 'Password', 'required|trim|min_length[6]|max_length[20]|xss_clean|alpha_dash');
$this->form_validation->set_rules('rrpassword', 'Re Password', 'required|trim|min_length[6]|max_length[20]|xss_clean|matches[password]|alpha_dash');
if($this->form_validation->run() == FALSE)
{
$this->showRegister();
}
else
{
$email = $this->input->post('email');
$pass = $this->input->post('password');
$password = $this->bcrypt->hash_password($pass);
// check if the password was encrypted
if ($this->bcrypt->check_password($pass, $password))
{
$data =array(
'email' => $email,
'password' => $password,
);
$insert = $this->user_model->register($data);
if(!$insert)
{
echo 'error';
}
$this->session->set_flashdata('info', 'registered');
redirect('login', 'refresh');
}
else
{
$this->session->set_flashdata('info', 'Oops.. error...');
redirect(base_url('login'), 'refresh');
}
}
}
для отображения сообщений я сделать это в представлении «Логин ":
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
Test: <?php echo $this->session->flashdata('info'); ?>
</div>
Но никогда не печатается сообщение. i Пробовал это:
$this->session->set_flashdata('info', 'test......');
$this->session->keep_flashdata('info');
redirect('login', 'refresh');
Но не работает. Также добавьте favicon.ico в корневую папку, но не работает. Я пытаюсь исправить это несколько часов назад. Это может быть версия PHP?
Очевидно уже настроил файл автозагрузку. Я не так noob haha – OsquiB
@OsquiB ok Тогда сделай это сам –
Я загрузил библиотеку в конструктор и не работал – OsquiB