Не удается получить данные флэш-памяти для работы на странице после регистрации

Поэтому я пытаюсь перейти с экрана входа в систему к экрану администратора, и я устанавливаю данные флэш-памяти, чтобы я мог сообщить пользователям, если они вошли в систему, а также проверить, если существует более одного пользователя или неправильный пароль, он покажет, извините, что вы не вошли в.
Так что это мой контроллер.

public function insertInformation(){
$this->load->helper('form');
$this->load->library('form_validation');

$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback_check_if_email_exists');
$this->form_validation->set_rules('phone', 'Phone', 'required');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[4]|max_length[32]');
$this->form_validation->set_rules('password_confirm', 'Password Confirm', 'required|matches[password]');if ($this->form_validation->run() == FALSE){
$this->load->view('header_view');
$this->load->view('login_view');
$this->load->view('footer_view');
}else{

$data =  array(
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'password' => $this->input->post('password')

);$this->load->model('main_page');
$user_id = $this->main_page->storeRegisterInfo($data);

if($user_id){
$user_data = array(
'user_id' =>$user_id,
'name'=> $name,
'logged_in' => true
);

$this->session->set_userdata($user_data);
$this->session->set_flashdata('login_sucess','you are now loggedin');
$this->Admin();
}else{
$this->session->set_flashdata('login_failed','you are not loggedin');
$this->login();
}

}}

Это модальный режим, в который вставляются данные, и я не уверен, как проверить, существует ли идентификатор пользователя, а также проверить, есть ли у пользователя действительная информация для входа в систему.

public function storeRegisterInfo($data){

$insert = $this->db->insert('new_users',$data);
$result = $this->db->get('new_users');
if($result ->num_rows()== 1){
return $result->row(0)->id;
}else{
return false;
}}

И, наконец, для просмотра в функции входа в систему это так. По сути, это регистрационная форма, но я везде написал логин по ошибке, поэтому, пожалуйста, не запутайтесь.

<p class="bg-danger">

<?php if($this->session->flashdata('login_failed')): ?>
<?php echo $this->session->flashdata('login_failed'); ?>

<?php endif; ?></p>

И аналогично для админа.

<p class="bg-success">

<?php if($this->session->flashdata('login_success')): ?>
<?php echo $this->session->flashdata('login_success'); ?>

<?php endif; ?></p><h1>hello</h1>

Поэтому я не могу заставить данные флэш-памяти работать, а также не могу определить, существует ли пользователь или написал неправильный пароль.

3

Решение

После настройки флеш-данных перенаправьте страницу

redirect('controllerNmae/Method');

РЕДАКТИРОВАТЬ 01

Ввиду

<?php
if(!empty($this->session->flashdata('login_sucess')))
{
echo $this->session->flashdata('login_sucess');
}

if(!empty($this->session->flashdata('login_failed')))
{
echo $this->session->flashdata('login_failed');
}
?>

или же

<?php
if(!empty($this->session->flashdata('login_sucess')))
{
?>
<script>
alert('<?php $this->session->flashdata('login_sucess'); ?>');
</script>
<?
}

if(!empty($this->session->flashdata('login_failed')))
{
?>
<script>
alert('<?php $this->session->flashdata('login_failed'); ?>');
</script>
<?
}
?>

Совет: Используйте эту библиотеку предупредить JS. Это дает хороший пользовательский опыт
бывший

<script>
alertify.success('<?php $this->session->flashdata('login_sucess'); ?>');
</script>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]