Codeigniter 用户登录注册模块
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 用户登录注册模块相关推荐
- php开发用户登录模块,使用CodeIgniter开发用户登录注册模块
本文介绍使用CodeIgniter来开发一个用户登录和注册的小模块,有详细的数据库表和ci代码. 1.数据库设计 字段 类型 空 额外 索引 id int(10) 否 auto_increment p ...
- java实现用户登录注册功能(用集合框架来实现)
需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...
下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- 如何设计登录注册模块
大家好,我是来自IT修真院的一枚PM~~今天和大家来分享一下如何设计登录注册模块~ 一.为什么要做登录注册? 二.核心要素 三.业务闭环 四.将业务嵌入使用场景 五.用户体验需要打磨 六.更多功能 七 ...
- python 搭建登陆系统,用Python连接操作MySQL数据库,做一个简单的用户登录注册系统...
我们可以很容易地用Python实现一个用户登录系统,相信这即使是对编程新手来说也是小菜一碟. 作为Python的小萌新,今天我想记录下来的是如何实现一个连接了MySQL数据库的用户登录注册系统,它的效 ...
最新文章
- 记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
- 盘点智能语音行业:Nuance没落 BAT围绕核心业务
- 我为什么从 Google 辞职?
- android int与String的转换
- Pycharm下将py文件打包成exe文件
- sop4封装尺寸图_「光电封装」 有源光器件的结构和封装
- 基于springboot的家政服务网站
- Stata:调节中介效应检验
- VS2019创建基于SDL+ffmpeg的工程
- 桌面新建文件夹不显示缩图_如何在Windows 10桌面上创建不可见的文件夹
- iphone xr xs_如何关闭iPhone X,XS和XR
- 鸿蒙3.0 APP混合开发闪退问题笔记
- Swift学习笔记 (四十二) 不透明类型
- keil5(MDK5)配置S3C2440裸机开发调试环境
- 【BZOJ2565】最长双回文串 Manacher
- python编程里的幂怎么表示
- LKJ基础数据源文件客车固定径路站名站序表工具
- 服务器托管vs自建机房哪个好?
- openwrt/linux路由器访客网络禁止访问WebUI但可以访问外网功能实现
- Android 萝卜坑
热门文章
- qt 制作记事本_23.QT记事本
- python反转列表不用切片,在Python中反转切片
- 【收藏】用户私自搭建伪服务器怎么办?禁它
- 亲历者说 | 完整记录一年多考拉海购的云原生之路
- 阿里 Midway 正式发布 Serverless v1.0,研发提效 50%
- 阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径
- Knative Serverless 之道:如何 0 运维、低成本实现应用托管?
- php阿里的同步工具canal,基于阿里的Canal实现数据同步
- 使用Java进行查询hugegraph_HugeGraph Examples
- python使用tkinter可以在多个操作系统_在tkinter GUI中使用多个窗口