当前位置:首页 > PHP教程 > php高级应用 > 列表

Codeigniter注册登录代码示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-16 09:03:26 浏览: 评论:0 

本示例Codeigniter注册登录代码源自一个codeigniter的项目,现分享下,需要的朋友可以参考下。

本示例Codeigniter注册登录代码源自一个codeigniter的项目,现分享下~

由于使用了 Active Record 类,一般数据库操作只有两层,即是C和V

controllers/login.php文件:

  1. <?php 
  2. class Login extends CI_Controller { 
  3.  private $pass = ''
  4.  public function __construct() { 
  5.   parent::__construct (); 
  6.   $this->load->helper ( array ( 
  7.     'form'
  8.     'url' 
  9.   ) ); 
  10.   $this->load->library('session'); 
  11.  } 
  12.  public function index() { 
  13.   $this->load->view ( 'login' ); 
  14.  } 
  15.  public function formsubmit() { 
  16.   $this->load->library ( 'form_validation' ); 
  17.  
  18.   $this->form_validation->set_rules ( 'username''Username''required' ); 
  19.   $this->form_validation->set_rules ( 'password''Password''required' ); 
  20.   if ($this->form_validation->run () == FALSE) { 
  21.    $this->load->view ( 'login' ); 
  22.   } else { 
  23.    if (isset ( $_POST ['submit'] ) && ! emptyempty ( $_POST ['submit'] )) { 
  24.     $data = array ( 
  25.       'user' => $_POST ['username'], 
  26.       'pass' => md5($_POST ['password']) 
  27.     ); 
  28.     $newdata = array
  29.       'username'  =>  $data ['user'] , 
  30.       'userip'     => $_SERVER['REMOTE_ADDR'], 
  31.       'luptime'   =>time() 
  32.     ); 
  33.     if ($_POST ['submit'] == 'login') { 
  34.      $query = $this->db->get_where ( 'uc_user'array ( 
  35.        'user' => $data ['user'
  36.      ), 1, 0 ); 
  37.  
  38.      foreach ( $query->result () as $row ) { 
  39.       $pass = $row->pass; 
  40.      } 
  41.      if ($pass == $data ['pass']) { 
  42.  
  43.       $this->session->set_userdata($newdata); 
  44.       $this->load->view ( 'usercenter'$data ); 
  45.      } 
  46.     } else if ($_POST ['submit'] == 'register') { 
  47.  
  48.      $this->session->set_userdata($newdata); 
  49.      $this->db->insert ( 'uc_user'$data ); 
  50.      $this->load->view ( 'usercenter'$data ); 
  51.     } else { 
  52.      $this->session->sess_destroy(); 
  53.      $this->load->view ( 'login' ); 
  54.     } 
  55.    } 
  56.   } 
  57.  } 

views/login.php文件:

  1. <html> 
  2. <?php echo validation_errors(); ?> 
  3. <?php echo form_open('login/formsubmit'); ?> 
  4. <table> 
  5. <tr> 
  6. <td>用户名</td> 
  7. <td><input type="text" name="username"></td> 
  8. </tr> 
  9. <tr> 
  10. <td>密码</td> 
  11. <td><input type="password" name="password"></td> 
  12. </tr> 
  13. <tr> 
  14. <td> 
  15. <input type="submit" name="submit" value="login"> 
  16. </td> 
  17. <td> 
  18. <input type="submit" name="submit" value="register"> 
  19. </td> 
  20. </tr> 
  21. </table> 
  22. </form> 
  23. </html> 

sql语句:

uc_user:

  1. CREATE TABLE `uc_user` (                                   
  2.            `id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,  
  3.            `uservarchar(20) NOT NULL,                             
  4.            `pass` char(32) NOT NULL,                                
  5.            `role` enum('root','normal'NOT NULL DEFAULT 'root',    
  6.            `del` decimal(1,0) NOT NULL DEFAULT '0',                 
  7.            PRIMARY KEY (`id`)                                       
  8.          ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1  

Tags: Codeigniter

分享到: