[list]

  • 预先加载数据库操作类和Session类 即在autoload.php中,$autoload['libraries'] = array('database', 'session');
  • a. 注: 使用session , 要设定 encryption key : config.php中:  $config['encryption_key'] = '!@#$%^&*()';

  • 登录表单页(view) : login_view.php
  • 注: 由于该页面使用了CI的form标签, 所以需要在渲染该页面前加载form_helper, 即: 在config/autoload.php, 文件中加入: $autoload['helper'] = array('url', 'form');

    Html代码  
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html lang="utf-8">
    3. <head>
    4. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    5. <title>Login</title>
    6. <style>div{display: block;} .errors{color: red;}</style>
    7. </head>
    8. <body>
    9. <h1>Please Login</h1>
    10. <?php echo form_open('admin');?>
    11. <p>
    12. <?php
    13. echo form_label('Email: ', 'email');
    14. echo form_input('email', set_value('email'), 'id="email" autofocus'); // set_value 如果密码输入有误, 返回时,默认写入值
    15. ?>
    16. </p>
    17. <p>
    18. <?php
    19. echo form_label('Password: ', 'password');
    20. echo form_input('password', '', 'id="password"');
    21. ?>
    22. </p>
    23. <p>
    24. <?php echo form_submit('submit','Login');?>
    25. </p>
    26. <?php echo form_close();?>
    27. <div class="errors"><?php echo validation_errors();?></div>
    28. </body>
    29. </html>
  • 控制器 : admin.php
  • Php代码  
    1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    2. class Admin extends CI_Controller {
    3. function __construct(){
    4. parent::__construct();
    5. }
    6. public function index(){
    7. // 在welcome的action中添加如下代码,即可用户登录情况
    8. /**
    9. * public function __costruct(){
    10. *      session_start();
    11. *      parent::_construct();
    12. *
    13. *      if(!$this->session->userdata('username')) redirect('admin');
    14. * }
    15. */
    16. if ($this->session->userdata('username')) {
    17. redirect('welcome');
    18. }
    19. $this->load->library('form_validation'); // 使用CI的表单验证, 如下:
    20. $this->form_validation->set_rules('email', 'Email', 'valid_email|required');
    21. $this->form_validation->set_rules('password', 'Password', 'min_length[4]|required');
    22. if($this->form_validation->run() !== false){
    23. // then validate password. Get from the Db.
    24. $this->load->model('admin_model');
    25. $res = $this->admin_model->verify_users(
    26. $this->input->post('email'),
    27. $this->input->post('password')
    28. );
    29. if($res !== false){
    30. print_r($res);
    31. $this->session->set_userdata('username', $this->input->post('email'));
    32. redirect('welcome');
    33. }
    34. }
    35. $this->load->view('login_view');
    36. }
    37. public function logout(){
    38. $this->session->sess_destroy();
    39. $this->load->view('login_view');
    40. }
    41. }
  • 模型层admin_model.php
  • 注: 由于使用了数据库, 在这里必须首先加载数据库连接: 即: 在config/autoload.php, 文件中加入: $autoload['libraries'] = array('database');

    Php代码  
    1. <?php
    2. class Admin_model extends CI_Model{
    3. function verify_users($email, $password){
    4. $q = $this->db
    5. ->where('email', $email)
    6. ->where('password', sha1($password))
    7. ->limit(1)->get('users');
    8. if($q->num_rows > 0){
    9. return $q->row();
    10. }
    11. return false;
    12. }
    13. }

    [/list]

    ci用户登录的更多相关文章

    1. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

      一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

    2. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

      一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

    3. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

      http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

    4. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

      一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

    5. PHP验证用户登录例子-学习笔记

      1.基本流程: 2.UML类图: 3.PHP代码: 3.1 index.php <?php /** * Created by PhpStorm. * User: andy * Date: 16- ...

    6. Ubuntu设置root用户登录图形界面

      Ubuntu默认的是root用户不能登录图形界面的,只能以其他用户登录图形界面.这样就很麻烦,因为权限的问题,不能随意复制删除文件,用gedit编辑文件时经常不能保存,只能用vim去编辑. 解决的办法 ...

    7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(19)-权限管理系统-用户登录

      系列目录 我们之前做了验证码,登录界面,却没有登录实际的代码,我们这次先把用户登录先完成了,要不权限是讲不下去了 把我们之前的表更新到EF中去 登录在Account控制器,所以我们要添加Account ...

    8. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

      0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

    9. android安卓Sqlite数据库实现用户登录注册

      看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...

    随机推荐

    1. .Net中Task使用来提高代码执行效率

      技术不断更新迭代,更高效的执行效率越来越被重视,所以对Task的使用进行了简单使用做了整理与大家分享. .Net 中有了Task后使多线程编程更简单使用和操作,下面粘上代码进行简单说明: /// &l ...

    2. 随笔记录 误删boot恢复 2019.8.7

      系统还原: 1. 2. 3. 4. 5.进入硬盘 6.挂载光盘,安装恢复boot 7.安装grub2 8.重建grub.cfg文件  

    3. sqlmap 使用方法及实例

      注:标黄处为输入内容     批注为得到的信息 1.-u url --dbs 爆数据库 [root@Hacker~]# Sqlmap -u http://www.lbgold.com/article_ ...

    4. 初识 SpringData - JPA(一)

      概念 什么是 JPA JPA(Java Persistence API ): Java 持久化规范的 API .是 SUN 官方推出的一套基于 ORM 的规范,内部是由一系列的接口和抽象类构成.其提供 ...

    5. 《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击

      在上个系列<你的DNS服务真的安全么?>里我们介绍了DNS服务器常见的攻击场景,看完后,你是否对ddos攻击忧心重重?本节我们来告诉你,怎么破局!! 首先回顾一下DDoS攻击的原理.DDo ...

    6. eclipse背景设置什么颜色缓解眼睛疲劳

      eclipse背景设置什么颜色缓解眼睛疲劳 1.打开window->Preference,弹出Preference面板 2.展开General标签,选中Editors选项,展开. 3.选中 Te ...

    7. 原生js实现文件下载并设置请求头header

      原生js实现文件下载并设置请求头header const token="自行定义";//如果有 /** * 向指定路径发送下载请求 * @param{String} url 请求路 ...

    8. Android Canvas save和restoreToCount

      @Override public void draw(Canvas canvas) { if (mDrawable!=null) { int sc=canvas.save(); if (mAnimat ...

    9. 其它课程中的python---1、python基础

      其它课程中的python---1.python基础 一.总结 一句话总结: 可以先把视频平台搭起来,这样学习效率会高很多,而且有额外收益 1.python的优势有哪些? 一个广泛的标准库 扩展性:比如 ...

    10. mac 安装配置使用 mongoldb

      mac 安装配置使用 mongoldb 安装和配置 brew install mongos brew install mongo # 密码就是用户的密码 # 配置数据文件 //如果不配置会出现错误62 ...