刚接手一个codeigniter的项目,写个示例代码,分享下~
由于使用了 Active Record 类,一般数据库操作只有两层,即是C和V
controllers/login.php
<?php
class Login extends CI_Controller {
private $pass = '';
public function __construct() {
parent::__construct ();
$this->load->helper ( array (
'form',
'url'
) );
$this->load->library('session');
}
public function index() {
$this->load->view ( 'login' );
}
public function formsubmit() {
$this->load->library ( 'form_validation' );
$this->form_validation->set_rules ( 'username', 'Username', 'required' );
$this->form_validation->set_rules ( 'password', 'Password', 'required' );
if ($this->form_validation->run () == FALSE) {
$this->load->view ( 'login' );
} else {
if (isset ( $_POST ['submit'] ) && ! empty ( $_POST ['submit'] )) {
$data = array (
'user' => $_POST ['username'],
'pass' => md5($_POST ['password'])
);
$newdata = array(
'username' => $data ['user'] ,
'userip' => $_SERVER['REMOTE_ADDR'],
'luptime' =>time()
);
if ($_POST ['submit'] == 'login') {
$query = $this->db->get_where ( 'uc_user', array (
'user' => $data ['user']
), 1, 0 );
foreach ( $query->result () as $row ) {
$pass = $row->pass;
}
if ($pass == $data ['pass']) {
$this->session->set_userdata($newdata);
$this->load->view ( 'usercenter', $data );
}
} else if ($_POST ['submit'] == 'register') {
$this->session->set_userdata($newdata);
$this->db->insert ( 'uc_user', $data );
$this->load->view ( 'usercenter', $data );
} else {
$this->session->sess_destroy();
$this->load->view ( 'login' );
}
}
}
}
}
views/login.php
<html>
<?php echo validation_errors(); ?>
<?php echo form_open('login/formsubmit'); ?>
<table>
<tr>
<td>用户名</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>
<input type="submit" name="submit" value="login">
</td>
<td>
<input type="submit" name="submit" value="register">
</td>
</tr>
</table>
</form>
</html>
sql
uc_user CREATE TABLE `uc_user` (
`id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,
`user` varchar(20) NOT NULL,
`pass` char(32) NOT NULL,
`role` enum('root','normal') NOT NULL DEFAULT 'root',
`del` decimal(1,0) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
分享到:
相关推荐
本知识点围绕Codeigniter框架中的用户注册与登录功能进行详细解析,...通过上述示例,我们可以了解到如何利用Codeigniter框架实现用户注册登录功能,同时也应该认识到在生产环境中应用的安全和性能优化的重要性。
在本示例中,我们将探讨如何使用CodeIgniter进行MySQL数据库的基本操作,如配置、用户注册、信息查询、修改和删除。 首先,配置数据库连接是使用CodeIgniter进行数据库操作的第一步。在`config/databases.php`文件...
作为一款轻量级的MVC(Model-View-Controller)框架,CodeIgniter强调了代码简洁和开发效率,使得开发者可以更加专注于业务逻辑,而不是底层基础设施的实现。 在MVC模式下,CodeIgniter将应用程序分为三个主要部分...
在这个"codeigniter的简单示例"中,我们将深入探讨CodeIgniter的核心概念和基本用法。 1. **MVC架构**: MVC是软件设计中的一个经典模式,用于分离业务逻辑、数据处理和用户界面。在CodeIgniter中,模型(Model)...
1. 下载最新版本的CodeIgniter框架。 2. 解压到服务器的Web根目录下。 3. 配置 `.htaccess` 文件以隐藏默认的index.php入口文件。 4. 修改 `config/config.php` 文件设置站点基本信息,如base_url等。 5. 创建数据库...
- PHP初学者或有一定经验的开发者,希望学习并掌握CodeIgniter框架以提高开发效率。 - Web应用开发者,特别是那些在寻找一个轻量级且强大的MVC框架时,CodeIgniter1.7可能是一个理想的选择。 - 教育工作者和学生...
这个"codeigniter 代码实例分享"看起来是某个开发者或团队为了展示或分享他们在CodeIgniter上的工作成果,结合了jQuery 1.4、Eclipse IDE的使用经验...对于学习和理解CodeIgniter框架的实际应用,这是一个宝贵的资源。
12. 社区活跃:CodeIgniter有一个活跃的开发者社区,提供各种教程、示例和解决方案,支持开发者遇到的问题。 在"CodeIgniter-3.1.6"这个压缩包中,你会找到框架的核心文件,包括系统目录(system)、应用目录...
在提供的`CodeIgniter.chm`文件中,应该包含了以上各个知识点的详细教程和示例,对于初学者来说,是全面了解和掌握CodeIgniter框架的好资料。通过深入学习,开发者可以利用CI框架高效地构建稳定、安全的PHP Web应用...
CodeIgniter是一个轻量级、高效且易于学习的PHP框架,专为快速开发Web应用程序而设计。它提供了简洁的API,使开发者能够更专注于编写代码,而不是配置环境。本手册将深入探讨CodeIgniter的核心概念、架构以及如何...
这个压缩包“PHP实例开发源码—CodeIgniter php开源框架.zip”包含了一个基于CodeIgniter的项目源码,是学习和理解PHP编程以及CodeIgniter...对于有经验的开发者,它可以提供灵感和代码示例,帮助改进自己的开发流程。
本文将详细介绍如何在CodeIgniter框架中整合Smarty模板引擎,并通过DEMO示例的形式展现具体的操作步骤和技巧。 首先,了解CodeIgniter框架和Smarty模板引擎的基本概念是非常重要的。CodeIgniter是一个基于PHP的开源...
**CodeIgniter框架** CodeIgniter是一个基于MVC架构的PHP框架,它具有以下特点: 1. **轻量级**:CodeIgniter的大小相对较小,使得它加载速度快,对服务器资源需求低。 2. **强大的URL路由**:允许开发者创建友好...
在下载并解压CodeIgniter-3.0.6压缩包后,你将得到框架的核心文件、示例应用程序、用户指南等资源,可以立即开始构建自己的PHP Web应用。通过深入理解和实践,你将能充分利用CodeIgniter的强大功能,提升开发效率。
使用 codeigniter 框架进行用户注册和登录的示例源代码。 看 ##先决条件: Apache 和/或 nginx PHP> = 5.1.6 MariaDB / MySQL v4.1 + php5-mcrypt (可选) 对于 apache、mysql 和 php,请参阅此 安装 ...
本篇文章将详细介绍如何在CodeIgniter框架中实现批量插入数据,并优化插入算法。 批量插入数据的基本思想是将多条记录作为一个数组传递给数据库的`insert_batch`方法,而不是一条一条地执行单独的插入语句。这减少...
#### 一、CodeIgniter框架概述 - **定义**:CodeIgniter是一个用于PHP的轻量级Web应用程序框架,旨在简化Web开发过程。 - **特点**: - 简洁高效:通过减少配置需求来提高开发速度。 - 易于学习:拥有简洁的文档和...
本文实例讲述了CodeIgniter框架验证码类库文件与用法。分享给大家供大家参考,具体如下: 折腾了我四五个小时,终于,ci的验证码类库成功的整出来了。 下面请看源码: 在application/libraries建立Authcode.php文件...
`application`目录中的内容可能包含DX_AUTH的示例应用代码或配置文件,开发者可以参考这些文件了解如何在实际项目中集成和使用DX_AUTH库。在开发过程中,中文手册翻译对于非英语背景的开发者来说尤其重要,它可以...