2016-11-21 17 views
-3

私はcodeigniterバージョン2で動作するアプリケーションを持っていて、それをcodeigniter 3.1.2(最新バージョン)に移動したいと思います。私はcodeigniter 3.1.2をダウンロードして、コントローラ、モデル、ビューファイルを書き直して始めます。しかし、私はエラーが要求されたクラスをロード
はできませんが発生しました古いバージョンのcodeigniter 2からcodeigniter 3.1.2

、というエラーを取得しています。データベース

は私のコントローラは、私のモデルがあるLogin.php

<?php 
class Login extends CI_Controller 
{ 
    var $data; 

    function __construct() { 
     parent::__construct(); 
     $this->load->helper('cookie'); 

     $is_admin_logged_in = $this->admin_init_elements->admin_logged_in_status(); 
     global $USER; 
     if($is_admin_logged_in == TRUE){ 
      redirect('home'); 
      //; 
     } 

     //populate viewfor header/footer elements 

     $this->admin_init_elements->init_elements('N'); 
     $this->load->model('mod_login'); 

    } 

    function index(){ 
     //if Admin already logged in, send to Admin home 

     $this->data['message']=''; 
     $this->data['msg_class'] = ''; 
     $post_array=$this->input->post(); 

     $data['old_images']=$this->mod_common->getBgImages(); 

     if($this->input->cookie('remember') == 'on') 
     { 
      //echo $this->input->cookie('username'); 
      $this->data['message']=strip_tags($this->mod_login->check_cookie_login()); 
      if($this->data['message']=='Login Successful'){ 
       $this->data['msg_class'] = 'sukses'; 
       redirect('home');    
      }else{ 
       $this->data['msg_class'] = 'gagal'; 
      } 
     } 
     if($this->input->post('action')=='adminLogin'){ 

     //print_r($this->input->post()); die; 

      if(isset($post_array['remember'])){ 
       $username_cookie= array(
        'name' => 'uusername', 
        'value' => $post_array['username'], 
        'expire' => '865000', 
        'secure' => FALSE 
       ); 

       $password_cookie= array(
        'name' => 'userpass', 
        'value' => $post_array['userpass'], 
        'expire' => '865000', 
        'secure' => FALSE 
       ); 

       $remember_cookie= array(
        'name' => 'remember', 
        'value' => 'on', 
        'expire' => '865000', 
        'secure' => FALSE 
       ); 

       $this->input->set_cookie($username_cookie); 
       $this->input->set_cookie($password_cookie); 
       $this->input->set_cookie($remember_cookie); 
       //die; 

      } 
      else 
      { 
       if($this->input->cookie('remember') == 'on') 
       { 
        if($this->input->cookie('uusername') != $post_array['username']) 
        { 
         delete_cookie("remember"); 
         delete_cookie("uusername"); 
         delete_cookie("userpass"); 
        } 
       } 
      } 

      $this->data['message']=strip_tags($this->mod_login->validate_admin_login()); 
      if($this->data['message']=='Login Successful'){ 
       $this->data['msg_class'] = 'sukses'; 
       redirect('home');    
      }else{ 
       $this->data['msg_class'] = 'gagal'; 
      } 
     } /*else if(isset()){ 

     }*/ 


    /////////////////////// 
     $this->data['cookieRemember'] = $this->input->cookie('remember'); 
     $this->data['cookieUsername'] = $this->input->cookie('username'); 
     $this->data['cookiePassword'] = $this->input->cookie('userpass'); 
     //echo $this->data['cookieRemember'];echo $this->data['cookieUsername']; echo $this->data['cookiePassword']; 
    ////////////////////// 

     $this->data['cookiename'] = $this->input->cookie('name', false); 
     $this->data['cookieimage'] = $this->input->cookie('image', false); 

     $sess_msg = $this->session->userdata('session_msg'); 
     $session_msg_class = $this->session->userdata('session_msg_class'); 
     if(isset($sess_msg) && $sess_msg!= ''){ 
      $this->data['message']=$sess_msg; 
      $this->data['msg_class'] = $session_msg_class!=''?$session_msg_class:'gagal'; 
     } 
     //render full layout, specific to this function 
     $this->load->view('login', $this->data); 
    } 

////////////////////////////////////////////////////////////////////////////////  
    function forgot_password(){ 
     $this->load->view('send_reset_link', $this->data); 
    } 

    function send_pass_reset_link(){ 

     $post_array=$this->input->post(); 
     if($post_array['email']!='') { 
     $email_id=$post_array['email']; 

     $user_id=$this->mod_common->get_userid($post_array['email']); 

     foreach($user_id as $key){ 
      $id=$key['id']; 
     } 

     if($id>0){ 

     $link=base_url().'login/reset_password/'.$id; 
     $message_body="<table> 
         <tr><td style='padding:10px 0px'>Dear User,</td></tr> 
         <tr><td style='padding:10px 0px'>You have received this communication in response to your request to reset your online portal account password. Please find below the link to reset your password</td></tr> 
         <tr ><td style='padding:10px 0px'><a href='".$link."' style='background:red;padding:5px 10px;color:#fff'> Reset Password </a></td></tr> 
         <tr ><td style='padding:10px 0px'>Regards,<br>Unfold</td></tr> 

         </table>"; 

     /*-------------------------*/ 
     //sending pass reset mail 
     $this->load->library('email'); 
/*  $config['protocol']  = 'sendmail'; 
     $config['mailpath']  = '/usr/sbin/sendmail'; 
     $config['charset']  = 'iso-8859-1'; 
     $config['wordwrap']  = TRUE; 
     $config['mailtype']  = 'html'; */ 

     $config['protocol']  = 'sendmail'; 
     $config['mailpath']  = '/usr/sbin/sendmail'; 
     $config['charset']  = 'iso-8859-1'; 
     $config['wordwrap']  = TRUE; 
     $config['mailtype']  = 'html'; 
     $this->email->initialize($config); 

     $this->email->set_newline("\r\n"); 
     $this->email->from("[email protected]","Admin");//email id and name of the sender 
     $this->email->to($email_id); // email id of the recipient 
     $this->email->subject("Reset Password"); //The subject line 
     $this->email->message($message_body); 
     $this->email->send(); 
     //$this->email->clear(); 
     //show_error($this->email->print_debugger()); 
     //die; 
     /*-------------------------*/ 
     $this->data['reset_link_msg']="An email with the password reset link has been sent to your mail address."; 
    }else{ 
     $this->data['reset_link_msg']="Sorry! The email entered is not in our database."; 
    } 
     } else {$this->data['reset_link_msg'] = '';} 

     $this->load->view('send_reset_link', $this->data); 

    } 

    function reset_password(){ 
     if($this->input->post()){ 

      $post_array=$this->input->post(); 
      $this->data['reset_msg']=$this->mod_common->reset_password($post_array); 
      $this->load->view('reset_password', $this->data); 
     } 

     if($this->uri->segment(3)!=''){ 
     $this->data['id']=$this->uri->segment(3); 
     $this->load->view('reset_password', $this->data); 
     } 
     else{ 
      redirect('login'); 
     } 
    } 










    // Admin authentication ---------- 
} 

?> 

ですMod_login.php

<?php 
    class Mod_login extends CI_Model{ 
     var $myTables; 
     #print_r($this->db->last_query()); 

     function __construct(){ 
      parent::__construct(); 
      $this->myTables=$this->config->item('myTables'); 
      $this->load->helper('cookie'); 
     } 

     function validate_admin_login(){ 
      $this->form_validation->set_rules('username', 'Username', 'trim|required'); 
      $this->form_validation->set_rules('userpass', 'Password', 'trim|required'); 
      if ($this->form_validation->run() == TRUE){ 
       return $this->check_admin_login(); 
      }else{ 
       return validation_errors(); 
      } 

     } 
     function check_cookie_login(){ 

      $this->db->where('username', trim($this->input->cookie('uusername'))); 
      $this->db->where('userpass ', sha1(trim($this->input->cookie('userpass')))); 
      $this->db->where('status', '1'); 
      $this->db->where('deleted', '0'); 
      $this->db->select('*'); 
      $query = $this->db->get($this->myTables['users']); 

      if($query->num_rows() > 0){ 
       $row = $query->row(); 
       $this->db->where('userid', $row->id); 
       $this->db->select('firstname,lastname,profileimage'); 
       $query1 = $this->db->get($this->myTables['users_details']); 
       $row1 = $query1->row(); 
       $newdata = array(
            'is_admin_logged_in' => true, 
            'admin_user_name' => $row->username, 
            'admin_userpass' => $row->userpass, 
            'admin_id'=>$row->id, 
            'admin_lastlogin'=>date("d-m-Y H:i:s",$row->lastlogin), 
            'admin_lastloginip'=>$row->lastloginip, 
            'lastrefresh'=>time() 
          ); 

       $this->session->set_userdata($newdata); 
       $this->update_admin_login_time($this->session->userdata('admin_id')); 
       $this->admin_init_elements->set_global_user($row->username,$row->userpass); 
       if($this->input->post('remember')) 
       { 
        $cookie = array('name' => 'username','value' => $row->username,'expire' => time()+7600,'secure' => false); 
        $this->input->set_cookie($cookie); 
       } 
       $name = $row1->firstname.' '.$row1->lastname; 
       $cookie1 = array('name' => 'name','value' => $name,'expire' => time()+7600,'secure' => false); 
       $this->input->set_cookie($cookie1); 
       $cookie2 = array('name' => 'image','value' => $row1->profileimage,'expire' => time()+7600,'secure' => false); 
       $this->input->set_cookie($cookie2); 


       return 'Login Successful'; 
      }else{ 

      } 

     } 
     function check_admin_login(){ 

      $this->db->where('username', trim($this->input->post('username'))); 
      $this->db->where('userpass ', sha1(trim($this->input->post('userpass')))); 
      $this->db->where('status', '1'); 
      $this->db->where('deleted', '0'); 
      $this->db->select('*'); 
      $query = $this->db->get($this->myTables['users']); 
      if($query->num_rows() > 0){ 
       $row = $query->row(); 
       $this->db->where('userid', $row->id); 
       $this->db->select('firstname,lastname,profileimage'); 
       $query1 = $this->db->get($this->myTables['users_details']); 
       $row1 = $query1->row(); 
       $newdata = array(
            'is_admin_logged_in' => true, 
            'admin_user_name' => $row->username, 
            'admin_userpass' => $row->userpass, 
            'admin_id'=>$row->id, 
            'admin_lastlogin'=>date("d-m-Y H:i:s",$row->lastlogin), 
            'admin_lastloginip'=>$row->lastloginip, 
            'lastrefresh'=>time() 
          ); 

       $this->session->set_userdata($newdata); 
       $this->update_admin_login_time($this->session->userdata('admin_id')); 
       $this->admin_init_elements->set_global_user($row->username,$row->userpass); 
       if($this->input->post('remember')) 
       { 
        $cookie = array('name' => 'username','value' => $row->username,'expire' => time()+7600,'secure' => false); 
        $this->input->set_cookie($cookie); 
       } 
       $name = $row1->firstname.' '.$row1->lastname; 
       $cookie1 = array('name' => 'name','value' => $name,'expire' => time()+7600,'secure' => false); 
       $this->input->set_cookie($cookie1); 
       $cookie2 = array('name' => 'image','value' => $row1->profileimage,'expire' => time()+7600,'secure' => false); 
       $this->input->set_cookie($cookie2); 


       return 'Login Successful'; 
      }else{ 
       return 'Incorrect Username or Password.'; 
      } 

     } 
     function logout() 
     { 
      global $USER; 

      $query1 = $this->db->query("Select * from pr_system_attendance where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()"); 
      date_default_timezone_set('Asia/Calcutta'); 
      if($query1->num_rows() > 0) 
      { 
       $row = $query1->row(); 

       $sql1 = "UPDATE pr_system_attendance set logout_time = '".date('Y-m-d H:i:s')."' where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()"; 



       $query2 = $this->db->query($sql1); 


      } 
      $sql="UPDATE `".$this->myTables['users']."` SET 
        `if_online` = '0' 
        WHERE `id` = '".$USER->id."'" ; 
      $query=$this->db->query($sql); 

     } 
     function update_admin_login_time($id){ 
      $sql="UPDATE `".$this->myTables['users']."` SET 
        `lastlogin` = '".time()."', 
        `if_online` = '1', 
        `lastrefresh` = '".time()."', 
        `lastloginip` = '".$_SERVER['REMOTE_ADDR']."' 
        WHERE `id` = '".$id."'" ; 
      $query=$this->db->query($sql); 
      $query1 = $this->db->query("Select * from pr_system_attendance where userid = '".$id."' and DATE(`login_time`) = CURDATE()"); 
      if($query1->num_rows() <= 0) 
      { 
       $sql1 = "INSERT INTO pr_system_attendance(userid,login_time,login_ip) VALUES('".$id."','".date('Y-m-d H:i:s')."','".$_SERVER['REMOTE_ADDR']."')"; 
       $query2 = $this->db->query($sql1); 
      } 

     } 

    } 

私のビューファイルは、アプリケーションに自動ロードにデータベースを試してみましたlogin.php

<?php global $SITE; ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <?php error_reporting(0); ?> 
     <!-- Bootstrap 3.3.5 --> 
     <link rel="stylesheet" href="<?php echo base_url(); ?>assets/bootstrap/css/bootstrap.min.css"> 
     <!-- Font Awesome --> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> 
     <!-- Ionicons --> 
     <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> 
     <!-- Theme style --> 
     <link rel="stylesheet" href="<?php echo base_url(); ?>assets/dist/css/main.css"> 
     <!-- iCheck --> 
     <link rel="stylesheet" href="<?php echo base_url(); ?>assets/plugins/iCheck/square/blue.css"> 

     <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
     <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
     <!--[if lt IE 9]> 
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> 
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 
     <![endif]--> 
    </head> 
    <?php 
    $old_home_bg = $old_images[0]['login_bg']; 
$home_url = base_url().'assets/images/1406147562_1213214397.jpg'; 
    ?> 
<body class="hold-transition login-page"> 
    <div class="login-box"> 
     <div class="col-md-6 hide-side" > 
     <img src="<?php echo base_url(); ?>/assets/images/side_login.jpg"> 
     </div> 
     <div class="col-md-6"> 
     <div class="login-logo"> 
     <a href=""><img src="<?php echo base_url(); ?>assets/images/logo.png" class="logo_login" alt="" width="190px"/> </a> 
     </div> 
     <div class="login-box-body"> 

     <?php echo form_open('login/', array('method'=>'post','name'=>'adminLoginForm','id'=>'adminLoginForm','class'=>'form-vertical login-form'));?> 
     <?php if($message!='') {?> 
     <div class="messages"> 

      <div class="has-error"> 
      <?php echo $message; ?> 
      </div> 
     </div> 
     <?php } ?> 
      <div class="form-group"> 
      <div class="input-group"> 
       <span class="input-group-addon"><i class="fa fa-user"></i></span> 
       <input type="text" class="form-control login" id="username" name="username" placeholder="Username"> 
      </div> 

      </div> 
      <div class="form-group has-feedback"> 
      <div class="input-group"> 
       <span class="input-group-addon"><i class="fa fa-lock"></i></span> 
       <input type="password" class="form-control" id="userpass" name="userpass" placeholder="Password"> 
      </div> 
      </div> 
      <?php 
            echo form_hidden('action','adminLogin'); 
     ?> 
      <div class="row"> 
      <div class="col-xs-8"> 
      <div style="float:left;margin-top: 7px;"> 
            <input type="checkbox" name="remember" /> Remember <br> 
            <?php 
             echo anchor(site_url("login/forgot_password"),'<div style="text-align:right;margin-top:5px;color:#C95356;font-weight:bold;">Forgot Password</div>','title="Need help?"');   
             echo '&nbsp; &nbsp;'; 
             //echo anchor(site_url("signup"),$this->lang->line('label_sign_up')); 
            ?> 
           </div> 
      </div><!-- /.col --> 
      <div class="col-xs-4"> 
       <button type="submit" name="login" class="btn btn-primary btn-block btn-flat btn-login">Sign In</button> 
      </div><!-- /.col --> 
      </div> 
     </form> 
     </div><!-- /.login-box-body --> 
     </div> 
     <div class="clearfix"></div> 
    </div><!-- /.login-box --> 
    <div class="login_footer"> 
     <div class="fl" style="float:left;padding:0px 20px;color:#fff;"> 
      &copy; 2015 Zipbizz <br> 
      <a href="" style="color:#fff;">Terms & Conditions</a> 
     </div> 
     <div class="fr" style="float:right; padding:0px 20px;color:#fff;"> 
      Powered By<br> 
      <img src="<?php echo base_url(); ?>/assets/images/footer_logo.png"> 
     </div> 
    </div> 
    <!-- jQuery 2.1.4 --> 
    <script src="<?php echo base_url(); ?>assets/plugins/jQuery/jQuery-2.1.4.min.js"></script> 
    <!-- Bootstrap 3.3.5 --> 
    <script src="<?php echo base_url(); ?>assets/bootstrap/js/bootstrap.min.js"></script> 
    <!-- iCheck --> 
    <script src="<?php echo base_url(); ?>assets/plugins/iCheck/icheck.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-backstretch/2.0.4/jquery.backstretch.min.js"></script> 
    <script> 
     $(function() { 
     $('input').iCheck({ 
      checkboxClass: 'icheckbox_square-blue', 
      radioClass: 'iradio_square-blue', 
      increaseArea: '20%' // optional 
     }); 
     $.backstretch([ 
      "<?php echo $home_url; ?>" 
      ], { 
       fade: 1000, 
       duration: 8000 
     }); 
     }); 
    </script> 

</body> 
</html> 

答えて

2

で/設定/ autoload.php

$autoload['libraries'] = array('database'); 

アプリケーション/ configにデータベース接続を設定していることを確認してください/ database.php

+0

https://www.codeigniter.com/userguide3/installation/upgrade_223.htmlに記載されているすべての手順に従ってください。これもまた変更されました。ありがとうございます – sunshine

関連する問題