📜  CodeIgniter数据库登录表单

📅  最后修改于: 2021-01-01 03:36:19             🧑  作者: Mango

登录页面(带有数据库)

在前面的示例中,我们学习了一个简单的登录页面,其中只有一个用户名和会话。

现在,我们将使用多个数据库来使用它。将为用户提供登录和登录页面。

在此示例中制作了以下页面。

应用程序/控制器中

  • Main.php

在应用程序/视图中

  • login_view.php
  • invalid.php
  • data.php
  • signin.php

应用程序/模型中

  • login_model.php

在第一页中,您可以选择登录登录

在登录时,如果用户输入了与数据库匹配的正确凭据,那么他将被定向到data.php页面。但是,如果他输入了错误的信息,则将出现错误的用户名/密码消息。

我们已将我们的CodeIgniter文件夹命名为login_db。我们的表名是signup

我们需要在login_db CodeIgniter文件夹中进行一些基本设置。

转到autoload.php文件,然后执行以下设置。

在上面的snpashot中,我们已经加载了库和帮助器。

database.php文件中,填写您的用户名和数据库名称。我们的数据库名称是codeigniter。

现在,我们将开始示例。

我们已经在application / controllers文件夹中创建了文件Main.php,

login();
    }

    public function login()
    {
        $this->load->view('login_view');
    }

    public function signin()
    {
        $this->load->view('signin');
    }

    public function data()
    {
        if ($this->session->userdata('currently_logged_in')) 
        {
            $this->load->view('data');
        } else {
            redirect('Main/invalid');
        }
    }

    public function invalid()
    {
        $this->load->view('invalid');
    }

    public function login_action()
    {
        $this->load->helper('security');
        $this->load->library('form_validation');

        $this->form_validation->set_rules('username', 'Username:', 'required|trim|xss_clean|callback_validation');
        $this->form_validation->set_rules('password', 'Password:', 'required|trim');

        if ($this->form_validation->run()) 
        {
            $data = array(
                'username' => $this->input->post('username'),
                'currently_logged_in' => 1
                );    
                    $this->session->set_userdata($data);
                redirect('Main/data');
        } 
        else {
            $this->load->view('login_view');
        }
    }

    public function signin_validation()
    {
        $this->load->library('form_validation');

        $this->form_validation->set_rules('username', 'Username', 'trim|xss_clean|is_unique[signup.username]');

        $this->form_validation->set_rules('password', 'Password', 'required|trim');

        $this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');

        $this->form_validation->set_message('is_unique', 'username already exists');

    if ($this->form_validation->run())
        {
            echo "Welcome, you are logged in.";
         } 
            else {
            
            $this->load->view('signin');
        }
    }

    public function validation()
    {
        $this->load->model('login_model');

        if ($this->login_model->log_in_correctly())
        {

            return true;
        } else {
            $this->form_validation->set_message('validation', 'Incorrect username/password.');
            return false;
        }
    }

    public function logout()
    {
        $this->session->sess_destroy();
        redirect('Main/login');
    }

}
?>

application / views文件夹中,制作login_view.php文件。




    
    Login Page


    

Login

Username: "; echo form_input('username', $this->input->post('username')); echo "

"; echo "

Password: "; echo form_password('password'); echo "

"; echo "

"; echo form_submit('login_submit', 'Login'); echo "

"; echo form_close(); ?> Sign In

application / views文件夹中,创建了data.php文件。




    


    

Welcome, You are successfully logged in.

"; echo print_r($this->session->all_userdata()); echo "
"; ?> Logout

application / views文件夹中,创建了signin.php文件。





    Sign Up Page


    

Sign In

Username:"; echo form_input('email'); echo "

"; echo "

Password:"; echo form_password('password'); echo "

"; echo "

Confirm Password:"; echo form_password('cpassword'); echo "

"; echo "

"; echo form_submit('signin_submit', 'Sign In'); echo "

"; echo form_close(); ?>

application / views文件夹中,创建了invalid.php文件。





    Invalid Page


    

Sorry, You don't have access to this page.

Login Again

application / models文件夹中,制作login_model.php文件。

db->where('username', $this->input->post('username'));
        $this->db->where('password', $this->input->post('password'));
        $query = $this->db->get('signup');

        if ($query->num_rows() == 1)
        {
            return true;
        } else {
            return false;
        }

    }

    
}
?>

输入URL时,http://localhost/login_db/index.php/Main/

将出现以下页面。

输入要登录的信息。

输入信息后,单击“登录”按钮。我们输入了错误的信息,因此它将显示错误消息,如下所示。

从数据库输入信息后,我们将定向到data.php页面。

单击登录按钮。

单击注销按钮,您将被定向到主页。

单击登录后,将显示以下页面。