Поэтому я разрабатывал простой логин и вставлял страницы данных с использованием CodeIgniter, я хочу, чтобы у каждого пользователя были свои данные, хранящиеся в БД, и у каждого пользователя был свой набор -БД. Мой фокус здесь — сначала получить сессию, потому что я не могу получить сессию из своего кода.
Я новичок в PHP и никогда не использовал PHP, даже нативный. Вот мой контроллер:
public function login(){
$this->load->library('session');
$email = $this->input->post('email');
$password = $this->input->post('password');
log_message('error','isi email : '.$email);
log_message('error','isi password : '.$password);
$return = $this->welcome_model->checkLogin($email, $password);
if($return){
$this->session->set_userdata('email',$email);
$var = $this->session->userdata;
redirect('welcome/masuk');}
Модель:
public function checkLogin($email, $password)
{
$return = $this->db->get_where('login',array('email'=>$email, 'password' => $password));
if($return->result_array() != NULL){
return TRUE;
}else{
return FALSE;
}
}
Посмотреть:
<form action="<?php echo base_url(); ?>welcome/login" method="post">
<input type="email" class="form-control" name="email" placeholder="Email">
<input type="password" class="form-control" name="password" placeholder="Password">
<button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
</form>
Любая помощь приветствуется! Спасибо!
Хорошо, я думаю, вам нужно рассмотреть следующие моменты при рассмотрении создания страницы входа в систему: —
1. $this->load->library('session'); //Try to put this in autoload.php in application/config.
$autoload['libraries'] = array('session');
2. <form action="<?php echo base_url(); ?>welcome/login" method="post">
You can replace this in view with
<?= form_open() ?>....CODE....<?= form_close() ?>
3. Try to use form-validation rules something like this
$this->form_validation->set_rules(
'title',
'Title',
'required|min_length[20]');
И да, для разделения всех пользователей вам нужно сделать что-то, что разделяет каждого пользователя на основе его уникального идентификатора, имени пользователя, группы пользователей … и т. Д.
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ https://www.codeigniter.com/user_guide/
Это моя страница входа в систему в соответствии с требованиями моего приложения
public function login()
{
$data = $this->data;
if(isset($this->session->userdata('user_id')))
{
redirect('dashboard');
}
$this->form_validation->set_rules(
'username', 'Username',
'required|min_length[5]'
);
$this->form_validation->set_rules(
'password',
'Password',
'trim|required|min_length[6]'
);
if ($this->form_validation->run() == FALSE)
{
$this->template->set('title', 'Login');
$this->template->load('main', 'contents' , 'login', $data);
}
else
{
$username = $this->input->post('username');
$password = $this->input->post('password');
if ($this->main_model->resolve_user_login($username, $password))
{
$user_id = $this->main_model->get_user_id_from_username($username);
$user = $this->main_model->get_user($user_id);
$this->session->user_id = (int)$user->id;
$this->session->username = (string)$user->username;
$this->session->name = (string)$user->name;
$this->session->password = (string)$user->password;
$this->session->created_at = (bool)$user->created_at;
$this->session->blog_id = (bool)$user->blog_id;
$this->session->logged_in = (bool)true;
redirect('dashboard');
}
else
{
$this->template->set('title', 'Login');
$this->template->load('main', 'contents' , 'login', $data);
}
}
}
Других решений пока нет …