2016-10-28 2 views
0

Früher habe ich meine Anmeldeformular durch den folgenden Code zu validieren:Passwort Anpassung in codeigniter

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

aber wenn ich meine Form zu sehen es zeigt mir ein Fehler, dass das Kennwort nicht übereinstimmt. codeigniter form result

+0

Versuch mit dem Entfernen von „| md5“ –

+1

ich diese http://php.net/manual/en/function.password-hash.php für Hashing-Passwörter verwenden würde und dann ein erstellen Callback für Passwort-Verify http://php.net/manual/en/function.password-verify.php ** Verwenden Sie nicht MD5 für Passwörter ** – user4419336

+0

Aber wenn ich das Passwort als Hash-Code in meine Datenbank dann eingeben möchten was ist zu tun? –

Antwort

1

Controller sind nicht für die Datenbank. Also, bitte Ihren Code dies ändern:

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

Wenn Sie es als Hash in der Datenbank setzen wollen, sollten Sie Modelle verwenden. Hier ist ein Beispiel-Code:

public function signup() { 
    $password = $this->input->post('password', true); 

    $hash = password_hash($password, PASSWORD_BCRYPT); // put $hash variable into your database 
    ... 
    }