PHP Session MVC с использованием CodeIgniter

Поэтому я разрабатывал простой логин и вставлял страницы данных с использованием 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

Решение

Хорошо, я думаю, вам нужно рассмотреть следующие моменты при рассмотрении создания страницы входа в систему: —

 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);
}
}
}
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector