CodeIgniter登录页面(带有数据库)

在前面的示例中, 我们学习了一个简单的登录页面, 其中只有一个用户名和会话。
现在, 我们将使用多个数据库来使用它。将为用户提供登录和登录页面。
在此示例中制作了以下页面。
在应用程序/控制器中

  • Main.php
在应用程序/视图中
  • login_view.php
  • invalid.php
  • data.php
  • signin.php
在应用程序/模型中
  • login_model.php
在第一页中, 你可以选择登录和登录。
【CodeIgniter登录页面(带有数据库)】在登录时, 如果用户输入了与数据库匹配的正确凭据, 那么他将被定向到data.php页面。但是, 如果他输入了错误的信息, 则将出现错误的用户名/密码消息。
我们已将CodeIgniter文件夹命名为login_db。我们的表名称是注册。
CodeIgniter登录页面(带有数据库)

文章图片
我们需要在我们的login_db CodeIgniter文件夹中进行一些基本设置。
转到autoload.php文件, 然后执行以下设置。
CodeIgniter登录页面(带有数据库)

文章图片
在上面的snpashot中, 我们已经加载了库和帮助器。
在database.php文件中, 填写你的用户名和数据库名称。我们的数据库名称是codeigniter。
CodeIgniter登录页面(带有数据库)

文章图片
现在, 我们将开始示例。
我们已经在application / controllers文件夹中创建了文件Main.php,
< ?phpdefined('BASEPATH') OR exit('No direct script access allowed'); class Main extends CI_Controller { public function index() {$this-> 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 = http://www.srcmini.com/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文件。
< !DOCTYPE html> < html lang="en"> < head> < meta charset="utf-8"> < title> Login Page< /title> < /head> < body> < h1> Login< /h1> < ?php echo form_open('Main/login_action'); echo validation_errors(); echo "< p> Username: "; echo form_input('username', $this-> input-> post('username')); echo "< /p> "; echo "< p> Password: "; echo form_password('password'); echo "< /p> "; echo "< /p> "; echo form_submit('login_submit', 'Login'); echo "< /p> "; echo form_close(); ?> < a href='http://www.srcmini.com/< ?php echo base_url()."index.php/Main/signin"; ?> '> Sign In< /a> < /body> < /html>

在application / views文件夹中, 创建了data.php文件。
< !DOCTYPE html> < html> < head> < title> < /title> < /head> < body> < h1> Welcome, You are successfully logged in.< /h1> < ?php echo "< pre> "; echo print_r($this-> session-> all_userdata()); echo "< /pre> "; ?> < a href='http://www.srcmini.com/< ?php echo base_url()."index.php/Main/logout"; ?> '> Logout< /a> < /body> < /html>

在application / views文件夹中, 创建了signin.php文件。
< !DOCTYPE html> < html> < head> < title> Sign Up Page< /title> < /head> < body> < h1> Sign In< /h1> < ?php echo form_open('Main/signin_validation'); echo validation_errors(); echo "< p> Username:"; echo form_input('email'); echo "< /p> "; echo "< p> Password:"; echo form_password('password'); echo "< /p> "; echo "< p> Confirm Password:"; echo form_password('cpassword'); echo "< /p> "; echo "< p> "; echo form_submit('signin_submit', 'Sign In'); echo "< /p> "; echo form_close(); ?> < /body> < /html>

在application / views文件夹中, 创建了invalid.php文件。
< !DOCTYPE html> < html> < head> < title> Invalid Page< /title> < /head> < body> < h1> Sorry, You don't have access to this page.< /h1> < a href='http://www.srcmini.com/< ?php echo base_url()."Main/login"; ?> '> Login Again< /a> < /body> < /html>

在application / models文件夹中, 制作login_model.php文件。
< ?phpclass Login_model extends CI_Model { public function log_in_correctly() {$this-> 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/
将出现以下页面。
CodeIgniter登录页面(带有数据库)

文章图片
输入要登录的信息。
CodeIgniter登录页面(带有数据库)

文章图片
输入信息后, 单击“登录”按钮。我们输入了错误的信息, 因此它将显示错误消息, 如下所示。
CodeIgniter登录页面(带有数据库)

文章图片
从数据库输入信息后, 我们将定向到data.php页面。
CodeIgniter登录页面(带有数据库)

文章图片
单击登录按钮。
CodeIgniter登录页面(带有数据库)

文章图片
单击注销按钮, 你将被定向到主页。
单击登录后, 将显示以下页面。
CodeIgniter登录页面(带有数据库)

文章图片
CodeIgniter登录页面(带有数据库)

文章图片
CodeIgniter登录页面(带有数据库)

文章图片

    推荐阅读