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