Je suis nouveau à travailler avec Codeigniter et devez définir une règle de validation de formulaire et un message de validation personnalisé pour vérifier si l'adresse e-mail existe dans la base de données soumise dans un formulaire de mot de passe oublié. Si l'adresse e-mail existe, elle envoie un e-mail, si ce n'est pas le cas, elle doit recharger le formulaire, définir la valeur du champ sur ce que l'utilisateur a saisi et fournir une erreur indiquant que l'adresse e-mail n'existe pas.CI - validation du formulaire de mot de passe oublié pour vérifier si l'adresse existe dans la base de données
J'ai ce qui suit dans le contrôleur ...
public function forgot_password()
{
$this->form_validation->set_rules('email_address','Email Address','trim|required|valid_email');
if($this->form_validation->run() == FALSE)
{
$this->forgot_password_form();
}
else
{
$this->load->model('membership_model');
if($query = $this->membership_model->val_forgot_password())
{
$data['main_content'] = 'forgot_password_sent';
$this->load->view('includes/template', $data);
}
else
{
$this->form_validation->set_message('email_address','The email address you provided does not exist.');
$this->forgot_password_form();
}
}
}
et dans le modèle ...
public function val_forgot_password()
{
$this->db->where('email_address', $this->input->post('email_address'));
$query = $this->db->get($this->members);
if($query->num_rows == 1)
{
return true;
}
else
{
return false;
}
}
et la forme est ...
<?php
echo form_open('login/forgot_password');
echo "Email Address: " . form_input('email_address', set_value('email_address', ''));
echo br(2);
echo form_submit('submit','Send Email');
echo form_close();
echo br(1);
echo validation_errors('<p>Error: ');
?>
Lorsque le formulaire est soumis avec une adresse e-mail valide, il va correctement à la page de succès, mais si l'adresse e-mail n'existe pas, il semble recharger le formulaire mais ne donne pas d'erreur.
Aide pls! : D
Oui, j'ai vu cette fonction de rappel et je me demandais si ce serait la meilleure façon de le faire, ce que vous avez confirmé est certainement, merci. – pmgrace