Codeigniter注册登录代码示例
2015-01-24信息快讯网
本示例Codeigniter注册登录代码源自一个codeigniter的项目,现分享下,需要的朋友可以参考下
本示例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函数serialize()与unserialize()用法实例
php实现webservice实例
PHP中Header使用的HTTP协议及常用方法小结
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
CI框架装载器Loader.php源码分析
CI框架安全类Security.php源码分析
PHP has encountered a Stack overflow问题解决方法
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Codeigniter(CI)框架分页函数及相关知识
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
PHPUnit安装及使用示例
Smarty中调用FCKeditor的方法
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Windows下安装PHP单元测试环境PHPUnit图文教程
Codeigniter出现错误提示Error with CACHE directory的解决方案
Codeigniter操作数据库表的优化写法总结
codeigniter数据库操作函数汇总
使用配置类定义Codeigniter全局变量
CodeIgniter输出中文乱码的两种解决办法
Codeigniter中禁止A Database Error Occurred错误提示的方法