Hey :) Also ich versuche zu überprüfen, ob ein Benutzer bereits registriert ist oder nicht mit ihrer E-Mail-Adresse. Die E-Mail ist ein eindeutiges Feld in der Datenbank. Das Problem, das ich habe, ist, wenn ich es überprüfe (wenn die E-Mail in der Tabelle existiert, wird false zurückgegeben und eine Nachricht wird an den Benutzer gesendet), num_rows() gibt immer false zurück, selbst wenn die eingegebene E-Mail nicht existiert Der Tisch;E-Mail existiert bereits in der Datenbank Codeigniter
Ich weiß nicht, ob es ein Problem mit der Post gibt, aber wenn ich den E-Mail-Teil auskommentieren und registrieren, wird es funktionieren und wenn die E-Mail ein Duplikat ist, wird der 1062 Fehler angezeigt.
das Modell funtion check()
$email_address = $this->input->post('email');
$this->db->where('email', $email_address);
$result = $this->db->get('user');
if($result->num_rows() > 0){
/*
* the email already exists
* */
return false;
}
und die Steuerung:
$checkEmail = $this->f_model->checkEmail();
if(!$checkEmail){
/*
* if email exists
* */
$msg = '<font color=red>Email already registered.</font><br />';
$this->register($msg);
}
else {
$interest = $this->f_model->enter_register_details_01();
if(!$interest) {
$msg = '<font color=red>Password and Confirm Password do not match.</font><br />';
$this->register($msg);
}
else {
$data['msg'] = $msg;
$this->load->view("registration_view_02", array('interest' => $interest,
'message' => $data));
}
}
auch wenn die Tabelle leer ist, wird die Meldung mit "E-Mail bereits registriert" erscheint
danken, dass Eure Hilfe.
hinzufügen Was Sie in Emailcheck-Funktion zurück, wenn num_rows <= 0? – Veniamin
Fügen Sie diese Zeile zu checkEmail() -Funktion nach if Bedingung 'sonst zurück wahr' –
Versuchen Sie zu 'var_dump ($ checkEmail)' in Controller, und für Prüfergebnisse, vielleicht Problem dort – Veniamin