因此,我一直在使用CodeIgniter开发一个简单的登录并插入数据页面,我希望每个用户都有自己的数据保存在DB中,并且每个用户都有自己的DB集。我在这里的重点是首先获得会话,因为我无法从我的代码中获得会话。
我是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);
}
}
}