2016-09-27 32 views
0

登錄給出了錯誤代碼點火器3,斜面登錄或者註冊

錯誤的電子郵件-ID或密碼!

即使提供了正確的憑證 即使兩個密碼字段匹配,註冊仍會提供錯誤。

密碼字段與確認密碼字段不匹配。

這是註冊控制器代碼。

<?php 
class signup extends CI_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form','url')); 
     $this->load->library(array('session', 'form_validation')); 
     $this->load->database(); 
     $this->load->model('user_model'); 
    } 

    function index() 
    { 
     // set form validation rules 
     $this->form_validation->set_rules('fname', 'First Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean'); 
     $this->form_validation->set_rules('lname', 'Last Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean'); 
     $this->form_validation->set_rules('email', 'Email ID', 'trim|required|valid_email|is_unique[user.email]'); 
     $this->form_validation->set_rules('password', 'Password', 'trim|required|matches[cpassword]|md5'); 
     $this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required'); 

     // submit 
     if ($this->form_validation->run() == FALSE) 
     { 
      // fails 
     $this->load->view('login/inc/header_view'); 
     $this->load->view('signup_view'); 
     $this->load->view('login/inc/footer_view'); 

     } 
     else 
     { 
      //insert user details into db 
      $data = array(
       'fname' => $this->input->post('fname'), 
       'lname' => $this->input->post('lname'), 
       'email' => $this->input->post('email'), 
       'password' => $this->input->post('password') 
      ); 

      if ($this->user_model->insert_user($data)) 
      { 
       $this->session->set_flashdata('msg','<div class="alert alert-success text-center">You are Successfully Registered! Please login to access your Profile!</div>'); 
       redirect('login/index'); 
      } 
      else 
      { 
       // error 
       $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">Oops! Error. Please try again later!!!</div>'); 
       redirect('signup/index'); 
      } 
     } 
    } 
} 
?> 

這是登錄控制器代碼

<?php 

class login extends CI_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form','url','html')); 
     $this->load->library(array('session', 'form_validation')); 
     $this->load->database(); 
     $this->load->model('user_model'); 
    } 

    function index() 
    { 
     // get form input 
     $email = $this->input->post("email"); 
     $password = $this->input->post("password"); 

     // form validation 
     $this->form_validation->set_rules("email", "Email-ID", "trim|required|xss_clean"); 
     $this->form_validation->set_rules("password", "Password", "trim|required|xss_clean"); 

     if ($this->form_validation->run() == FALSE) 
     { 
      // validation fail 
     $this->load->view('login/inc/header_view'); 
     $this->load->view('login/login_view'); 
     $this->load->view('login/inc/footer_view'); 
     } 
     else 
     { 
      // check for user credentials 
      $uresult = $this->user_model->get_user($email, $password); 
      if (count($uresult) > 0) 
      { 
       // set session 
       $sess_data = array('login' => TRUE, 'uname' => $uresult[0]->fname, 'uid' => $uresult[0]->id); 
       $this->session->set_userdata($sess_data); 
       redirect("admin/index"); 
      } 
      else 
      { 
       $this->session->set_flashdata('msg', '<div class="alert alert-danger text-center">Wrong Email-ID or Password!</div>'); 
       redirect('login/index'); 
      } 
     } 
    } 
} 
?> 

這是註冊視圖

</br> 
</br> 
</br> 

<div class="container"> 
    <div class="row"> 
     <div class="col-md-4 col-md-offset-4 well"> 
      <?php $attributes = array("name" => "signupform"); 
      echo form_open("signup/index", $attributes);?> 
      <legend>Signup</legend> 

      <div class="form-group"> 
       <label for="name">First Name</label> 
       <input class="form-control" name="fname" placeholder="Your First Name" type="text" value="<?php echo set_value('fname'); ?>" /> 
       <span class="text-danger"><?php echo form_error('fname'); ?></span> 
      </div>   

      <div class="form-group"> 
       <label for="name">Last Name</label> 
       <input class="form-control" name="lname" placeholder="Last Name" type="text" value="<?php echo set_value('lname'); ?>" /> 
       <span class="text-danger"><?php echo form_error('lname'); ?></span> 
      </div> 

      <div class="form-group"> 
       <label for="email">Email ID</label> 
       <input class="form-control" name="email" placeholder="Email-ID" type="text" value="<?php echo set_value('email'); ?>" /> 
       <span class="text-danger"><?php echo form_error('email'); ?></span> 
      </div> 

      <div class="form-group"> 
       <label for="subject">Password</label> 
       <input class="form-control" name="password" placeholder="Password" type="password" /> 
       <span class="text-danger"><?php echo form_error('password'); ?></span> 
      </div> 

      <div class="form-group"> 
       <label for="subject">Confirm Password</label> 
       <input class="form-control" name="cpassword" placeholder="Confirm Password" type="password" /> 
       <span class="text-danger"><?php echo form_error('cpassword'); ?></span> 
      </div> 

      <div class="form-group"> 

       <p> <button name="submit" type="submit" class="btn btn-sm btn-primary btn-block btn-signin">Sign Up</button> </p> 
       <p>Already Got Account?<a href="<?php echo base_url(); ?>index.php/login" class="forgot-password">Sign In</a> <a href="#" class="forgot-password pull-right" type="reset">Cancel</a> </p> 



      </div> 

      <?php echo form_close(); ?> 
      <?php echo $this->session->flashdata('msg'); ?> 



     </div> 

    </div> 
    <div class="row"> 

    </div> 
</div> 

這是登錄視圖

<div class="container"> 
    <div class="card card-container"> 
     <!-- <img class="profile-img-card" src="//lh3.googleusercontent.com/-6V8xOA6M7BA/AAAAAAAAAAI/AAAAAAAAAAA/rzlHcD0KYwo/photo.jpg?sz=120" alt="" /> --> 
     <img id="profile-img" class="profile-img-card" src="//ssl.gstatic.com/accounts/ui/avatar_2x.png" /> 
     <p id="profile-name" class="profile-name-card"></p> 
     <?php $attributes = array("name" => "loginform"); 
     echo form_open("login/index", $attributes);?> 
     <form class="form-signin" method="post" value="?"> 
      <div class="form-group"> 
      <span id="reauth-email" class="reauth-email"></span> 
      <input class="form-control" name="email" placeholder="Enter Email-ID" type="text" value="<?php echo set_value('email'); ?>" /> 
      <span class="text-danger"><?php echo form_error('email'); ?></span> 
      </div> 

      <div class="form-group"> 

      <input class="form-control" name="password" placeholder="Password" type="password" value="<?php echo set_value('password'); ?>" /> 
      <span class="text-danger"><?php echo form_error('password'); ?></span> 
      </div> 

      <div id="remember" class="checkbox"> 
       <label> 
        <input type="checkbox" value="remember-me"/> Remember me 
       </label> 
      </div> 

      <div class="form-group"> 
      <p> <button name="submit" type="submit" class="btn btn-sm btn-primary btn-block btn-signin">Sign In</button> </p> 
      <p> <a href="#" class="forgot-password">Forgot Password</a> <a href="#" class="forgot-password pull-right" type="reset">Cancel</a> </p> 
      </div> 
      <?php echo form_close(); ?> 
      <?php echo $this->session->flashdata('msg'); ?> 
      <p class="text-muted text-center"><small>New System User?</small></p> 

      <a href="<?php echo base_url(); ?>index.php/signup"><button class="btn btn-lg btn-primary btn-block btn-signin">Create Account</button></a> 
     </form><!-- /form --> 

    </div><!-- /card-container --> 
</div><!-- /container --> 

這個模型

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class user_model extends CI_Model 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 

    function get_user($email, $pwd) 
    { 
     $this->db->where('email', $email); 
     $this->db->where('password', md5($pwd)); 
     $query = $this->db->get('user'); 
     return $query->result(); 
    } 

    // get user 
    function get_user_by_id($id) 
    { 
     $this->db->where('id', $id); 
     $query = $this->db->get('user'); 
     return $query->result(); 
    } 

    // insert 
    function insert_user($data) 
    { 
     return $this->db->insert('user', $data); 
    } 
}?> 

請指點,我在Windows 10 XAMPP

運行此,我從 http://www.kodingmadesimple.com/2016/06/codeigniter-login-and-registration-tutorial-source-code.html

回答

0

更改代碼的地方的匹配密碼被製作並且將md5準備添加到cpassword而不是:

$this->form_validation->set_rules('password', 'Password', 'trim|required|md5'); 
$this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required|md5|matches[password]'); 
+0

謝謝budwiser我可能會得到你的電子郵件,或者你可以有我的「[email protected]」 –

0

當你創建一個帳戶,你比較MD5(密碼)是普通密碼

$this->form_validation->set_rules('password', 'Password', 'trim|required|matches[cpassword]');

因此,大家可以看到,我們從比較的MD5扔掉。 我們把它添加到發送數據到數據庫中

'password' => md5($this->input->post('password')) 

這將有助於解決這兩個問題。

+0

謝謝zuchol我可以得到你的電子郵件,或者你可以有我的「[email protected]」 –

+0

我的電子郵件是[email protected] – zuchol