Codeigniter注册登录代码示例


Posted in PHP onJune 12, 2014

本示例Codeigniter注册登录代码源自一个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 
PHP 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
PHP积分兑换接口实例
Feb 09 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
9个比较实用的php代码片段
Mar 15 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 #PHP
codeigniter数据库操作函数汇总
Jun 12 #PHP
使用PHP函数scandir排除特定目录
Jun 12 #PHP
使用配置类定义Codeigniter全局变量
Jun 12 #PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 #PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 #PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 #PHP
You might like
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
四个PHP非常实用的功能
2015/09/29 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP错误机制知识汇总
2016/03/24 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
python 使用get_argument获取url query参数
2017/04/28 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
python的常见矩阵运算(小结)
2019/08/07 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
详解Python IO编程
2020/07/24 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
人力资源专业推荐信
2013/11/29 职场文书
高三家长寄语
2014/04/03 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
南京导游词
2015/02/03 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL