Codeigniter 用户登录注册模块

以下皆是基于Codeigniter + MySQL

一、要实现用户登录注册功能,首先就要和MySQL数据库连接,操作流程如下:

CI中贯彻MVC模型,即Model + View + Controller。数据模型Model处理数据库的运算,视图View顾名思义即使将数据显示出来的页面,而控制器Controller是用来代理完成某项任务的PHP类,Controller充当MVC架构应用程序的“粘合剂”。再回到数据模型,通过创建控制器类,可以对数据库或者其他数据存储方式进行取回、插入和更新。CI中要使用数据库,首先要在配置文件“application/config/database.php”中对数据库进行配置,包括数据库名、用户名、密码等。以下代码段继承控制器CI_Model类,获得数据表‘news’,并对数据表‘news’进行了读和写的简单操作:

<?php
class News_model extends CI_Model{public function __construct(){$this->load->database();}public function get_news($slug = FALSE){if($slug == FALSE){$query = $this->db->get('news'); //获得‘news’数据表,并将结果返回到‘query’变量中return $query->result_array();}$query = $this->db->get_where('news',array('slug' => $slug)); //获得‘news’数据表中主键为‘slug’的数据记录return $query->row_array();}public function set_news(){$this->load->helper('url');$slug = url_title($this->input->post('title'), 'dash', TRUE);$data = array('title' => $this->input->post('title'),'slug' => $slug,'text' => $this->input->post('text'));    return $this->db->insert('news', $data); //将‘data’数据记录插入‘news’数据表中
    }
}

二、创建完模型CI_Model类,从数据库查询到数据之后,需要创建控制器CI_Controller类将数据模型和用来显示数据内容的视图“粘合”起来。以下代码段继承控制器CI_Controller类,调用了数据模型,控制器类获得数据模型中的数据并传递给视图显示出来:

<?php
class News extends CI_Controller {public function __construct() {parent::__construct();$this->load->model('news_model');}public function index(){$data['news'] = $this->news_model->get_news();$data['title'] = 'News archive';$this->load->view('templates/header',$data);$this->load->view('news/index',$data);$this->load->view('templates/footer',$data);}public function view($slug){$data['news_item'] = $this->news_model->get_news($slug);if(empty($data['news_item'])){show_404();}$data['title'] = $data['news_item']['title'];$this->load->view('templates/header',$data);$this->load->view('news/view',$data);$this->load->view('templates/footer');}public function create(){$this->load->helper('form');$this->load->library('form_validation');$data['title'] = 'Create a news item';$this->form_validation->set_rules('title','Title','required');$this->form_validation->set_rules('text','text','required');if ($this->form_validation->run() == FALSE) {$this->load->view('templates/header',$data);$this->load->view('news/create');$this->load->view('templates/footer');    } else {$this->news_model->set_news();$this->load->view('news/success');}}
}

三、创建完数据模型和控制器类之后,最后一件事就是创建视图View将数据显示出来。以下代码段循环显示数据库中的数据:

<?php foreach ($news as $news_item): ?><h2><?php echo $news_item['title']?></h2><div id = "main"><?php echo $news_item['text']?></div><p><a href = "http://localhost/citest/index.php/news/<?php echo $news_item['slug']?>">View article</a></p><?php endforeach?>

转载于:https://www.cnblogs.com/cloume/archive/2012/11/20/2777132.html

Codeigniter 用户登录注册模块相关推荐

  1. php开发用户登录模块,使用CodeIgniter开发用户登录注册模块

    本文介绍使用CodeIgniter来开发一个用户登录和注册的小模块,有详细的数据库表和ci代码. 1.数据库设计 字段 类型 空 额外 索引 id int(10) 否 auto_increment p ...

  2. java实现用户登录注册功能(用集合框架来实现)

    需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...

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

    基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...

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

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

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

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

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

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

  7. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  8. 如何设计登录注册模块

    大家好,我是来自IT修真院的一枚PM~~今天和大家来分享一下如何设计登录注册模块~ 一.为什么要做登录注册? 二.核心要素 三.业务闭环 四.将业务嵌入使用场景 五.用户体验需要打磨 六.更多功能 七 ...

  9. python 搭建登陆系统,用Python连接操作MySQL数据库,做一个简单的用户登录注册系统...

    我们可以很容易地用Python实现一个用户登录系统,相信这即使是对编程新手来说也是小菜一碟. 作为Python的小萌新,今天我想记录下来的是如何实现一个连接了MySQL数据库的用户登录注册系统,它的效 ...

最新文章

  1. 记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
  2. 盘点智能语音行业:Nuance没落 BAT围绕核心业务
  3. 我为什么从 Google 辞职?
  4. android int与String的转换
  5. Pycharm下将py文件打包成exe文件
  6. sop4封装尺寸图_「光电封装」 有源光器件的结构和封装
  7. 基于springboot的家政服务网站
  8. Stata:调节中介效应检验
  9. VS2019创建基于SDL+ffmpeg的工程
  10. 桌面新建文件夹不显示缩图_如何在Windows 10桌面上创建不可见的文件夹
  11. iphone xr xs_如何关闭iPhone X,XS和XR
  12. 鸿蒙3.0 APP混合开发闪退问题笔记
  13. Swift学习笔记 (四十二) 不透明类型
  14. keil5(MDK5)配置S3C2440裸机开发调试环境
  15. 【BZOJ2565】最长双回文串 Manacher
  16. python编程里的幂怎么表示
  17. LKJ基础数据源文件客车固定径路站名站序表工具
  18. 服务器托管vs自建机房哪个好?
  19. openwrt/linux路由器访客网络禁止访问WebUI但可以访问外网功能实现
  20. Android 萝卜坑

热门文章

  1. qt 制作记事本_23.QT记事本
  2. python反转列表不用切片,在Python中反转切片
  3. 【收藏】用户私自搭建伪服务器怎么办?禁它
  4. 亲历者说 | 完整记录一年多考拉海购的云原生之路
  5. 阿里 Midway 正式发布 Serverless v1.0,研发提效 50%
  6. 阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径
  7. Knative Serverless 之道:如何 0 运维、低成本实现应用托管?
  8. php阿里的同步工具canal,基于阿里的Canal实现数据同步
  9. 使用Java进行查询hugegraph_HugeGraph Examples
  10. python使用tkinter可以在多个操作系统_在tkinter GUI中使用多个窗口