2017-01-13 5 views
1

Ich baue einen Blog mit CodeIgniter 3.1.3 und ich habe eine Funktion im Admin, um neue Benutzer hinzuzufügen. Wenn ich versuche, einen neuen Benutzer hinzuzufügen, ich die folgende Fehlermeldung erhalten:Passwort in CodeIgniter bestätigen

The Password field does not match the confirm_password field.

obwohl das angegebene Passwort Passwort und confrom Passwort-Feld ist das gleiche.

Ich kann nicht herausfinden, was das Problem verursacht.

Hier ist mein Modell:

<div class="row"> 
         <div class="col-lg-12"> 
          <div class="form-group"> 
           <label>First Name</label> 
           <input class="form-control" type="text" name="first_name" value="<?php echo set_value('first_name'); ?>" placeholder="Enter First Name" /> 
          </div> 
          <div class="form-group"> 
           <label>Last Name</label> 
           <input class="form-control" type="text" name="last_name" value="<?php echo set_value('last_name'); ?>" placeholder="Enter Last Name" /> 
          </div> 
          <div class="form-group"> 
           <label>Email Address</label> 
           <input class="form-control" type="email" name="email" value="<?php echo set_value('email'); ?>" placeholder="Enter Email" /> 
          </div> 
          <div class="form-group"> 
           <label>Username</label> 
           <input class="form-control" type="text" name="username" value="<?php echo set_value('username'); ?>" placeholder="Enter Username" /> 
          </div> 
          <div class="form-group"> 
           <label>Password</label> 
           <input class="form-control" type="password" name="password" value="<?php echo set_value('password'); ?>" placeholder="Enter Password" /> 
          </div> 
          <div class="form-group"> 
           <label>Confirm Password</label> 
           <input class="form-control" type="password" name="confirm_password" value="<?php echo set_value('confirm_password'); ?>" placeholder="Confirm Password" /> 
          </div> 
          <div class="form-group"> 
           <label>User Group</label> 
           <select name="group" class="form-control"> 
            <?php foreach($groups as $group) : ?> 
            <option value="<?php echo $group->id; ?>"><?php echo $group->name; ?></option> 
           <?php endforeach; ?> 
           </select> 
          </div> 

        </div><!-- /.row --> 
+0

Versuchen Sie dies: '$ this-> form_validation-> set_rules ('password', 'Password', 'trim | erforderlich | Übereinstimmungen [confirm_password]');' nur für den Fall, dass es ein Whitespace etwas ist – bos570

+0

Leider nicht t helfen. – PapT

Antwort

8
$this->form_validation->set_rules('first_name','First Name','trim|required'); 
$this->form_validation->set_rules('last_name','Last Name','trim|required'); 
$this->form_validation->set_rules('email','Email','trim|required|valid_email'); 
$this->form_validation->set_rules('username','Username','trim|required|min_length[3]'); 
$this->form_validation->set_rules('password', 'Password', 'required'); 
$this->form_validation->set_rules('confirm_password', 'Confirm Password', 'required|matches[password]'); 
:

public function insert($data){ 
    $this->db->insert('users', $data); 
    return true; 
} 

Hier ist mein Controller

public function add(){ 
     //Validation Rules 
     $this->form_validation->set_rules('first_name','First Name','trim|required'); 
     $this->form_validation->set_rules('last_name','Last Name','trim|required'); 
     $this->form_validation->set_rules('email','Email','trim|required|valid_email'); 
     $this->form_validation->set_rules('username','Username','trim|required|min_length[3]'); 
     $this->form_validation->set_rules('password', 'Password', 'required|matches[confirm_password]'); 

     $data['groups'] = $this->User_model->get_groups(); 

     if($this->form_validation->run() == FALSE){ 
      //Views 
      $data['main_content'] = 'admin/users/add'; 
      $this->load->view('admin/layouts/main', $data); 
     } else { 
      //Create Data Array 
      $data = array(
       'first_name' => $this->input->post('first_name'), 
       'last_name'  => $this->input->post('last_name'), 
       'username'  => $this->input->post('username'), 
       'password'  => md5($this->input->post('password')), 
       'group_id'  => $this->input->post('group'), 
       'email'   => $this->input->post('email') 
      ); 

      //Table Insert 
      $this->User_model->insert($data); 

      //Create Message 
      $this->session->set_flashdata('user_saved', 'User has been saved'); 

      //Redirect to pages 
      redirect('admin/users'); 
     } 

hier meiner Ansicht nach

Ändern Sie Ihre Formularüberprüfung und vergessen Sie nicht, die Formularüberprüfung in der Datei config/autoload.php wie $autoload['libraries'] = array('form_validation'); automatisch zu laden. Wenn es nicht funktioniert, bitte unten kommentieren.

Verwandte Themen