CodeIgniter système de connexion à l'aide de md5()

Je suis nouveau dans CodeIgniter et à l'aide de CodeIgniter_2.1.3. Je suis NETTUTS CodeIgniter tutoriel. Je veux développer un système de connexion avec codeIgniter, qui fonctionne bien, sans md5() fonction [sans mot de passe crypté] . Puis-je créer un nouveau tableau avec le mot de passe crypté à l'aide de md5() fonction. Ensuite, le code de connexion ne fonctionne pas. Mon code est ::

view/login_form.php

<?php   
      //form design       

     echo form_open("login/validate") . "<br/>";    
     echo form_input("username", "Username") . "<br/> <br/>";
     echo form_password("password", "password") . "<br/> <br/>";
     echo form_submit("submit", "Login") . "<Br/> <Br/>";

     echo anchor("login/sign_up", "Create Account"); 

 ?>

controllers/login.php

 <?php
class Login extends CI_Controller {
function index() {   //function of loading login page
$data['main_content'] = "login_form";   //name of login page
$this->load->view("includes/templet", $data);  
}
function validate() {   //form validation          
$this->load->model("membership_model");    //load "membership_model" 
$query = $this->membership_model->validate_user();   //check validation
if( $query )  {     //if data found
$data = array(  //value which is to be inserted into session
"username" => $this->input->post("username"),
"is_logged_in" => true
);
$this->session->set_userdata($data);  //insert value into session
redirect("site/members_area");   //go to predefined page
}
else {
//if data not found then go to login_form page
$this->index();
}  
}
//create account  
function sign_up() {
$data['main_content'] = "sign_up";
$this->load->view("includes/templet", $data);
}
//insert data into database
function create_member()  {
$this->load->library("form_validation");  //load form_validation library
$this->form_validation->set_rules("username", "Username", "trim|required");
$this->form_validation->set_rules("password", "Enter Password", "trim|required|min_length[4]|max_length[32]");
$this->form_validation->set_rules("re_password", "Confirm password", "trim|required|matches[password]");
$this->form_validation->set_rules("email", "Email Address", "trim|required|valid_email");
if(  $this->form_validation->run() == FALSE )  {
$this->load->view("sign_up");
}
else {
$this->load->model("membership_model");
if( $query =  $this->membership_model->create_member() )  {
//redirect("site/members_area");
$data['main_content'] = "signup_success";
$this->load->view("includes/templet", $data);
}
else {
$this->load->view("sign_up");
}
}
}
}
?>

modèle/membership_model

 <?php   
class Membership_model extends CI_Model {
function validate_user() {
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get("user");
if( $query->num_rows == 1 )  {
return true;
}
}
function create_member()  {
$new_member_insert_data = array(                 
'username' => $this->input->post("username"),
'password' => md5($this->input->post("password")),
'email'    => $this->input->post("email")                 
);
$insert = $this->db->insert("user", $new_member_insert_data);
return true;
}
}     
?>
Ne pas utiliser MD5 pour le stockage de mot de passe c'est l'insécurité. Utiliser les Bcrypt. Aussi, ne pas essayer de réinventer la roue. CodeIgniter a beaucoup de revue par les pairs de l'authentification des bibliothèques qui serait plus sûr et plus facile à l'installation. Voir stackoverflow.com/questions/346980/... pour plus d'info.
1. Quel problème avez-vous exactement? 2. Je ne comprenais pas, VOULEZ-vous vraiment utiliser md5(), ou bien vous voulez l'utiliser NON?

OriginalL'auteur sabbir | 2013-06-27