Utilisation de callback

Fermé
zainebggrissa Messages postés 10 Date d'inscription jeudi 15 août 2013 Statut Membre Dernière intervention 2 mai 2014 - 25 avril 2014 à 12:27
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 25 avril 2014 à 14:53
Bonjour a tous ,

j'utilise le framework codeigniter et quand je clique sur le bouton,il apparaît une page blanche avec <<page web inaccessible>>

voici mon code
$this->load->library('form_validation');
$this->form_validation->set_rules('email','e-mail', 'trim|required|valid_email');

$this->form_validation->set_rules('mdp','mot de passe','trim|required|min_length[4]|max_length[52]|alpha_dash|encode_php_tags|xss_clean|callback_existe_dans_bd['.$this->input->post('email').']');


if($this->form_validation->run() == TRUE )
{
$this->load->view('bienvenue');
}
else
{
// Le formulaire est invalide ou vide
$this->load->view('application');
}
}

//fonction qui versifie l'existence  des valeurs email et password dans la base de données 
public function existe_dans_bd ($str, $email) 
{
$this->load->database();
$this->load->model('Clients_model','clientsmodel');
$resultat = $this->clientsmodel->liste_clients_connexion($mail,$str);
if($resultat){
	return true;
}else{
    $this->form_validation->set_message( 'existe_dans_bd', 'utilisateur inexistant' );
	return false;
}
}


Remarque; quand je change l'entête de la fonction par "public function callback_existe_dans_bd ($str, $email) ", la vue bienvenue apparait quand je clique sur le bouton

pouvez-vous m'aidez ?
merci et j'attends votre réponse

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
25 avril 2014 à 14:53
Salut,

Ton problème me parait pourtant simple, tu donnes toi même la solution.

Soit tu appelle ta fonction "existe_dans_bd" et dans la validation de ton formulaire (ligne 4) tu utilises cette fonction :
$this->form_validation->set_rules('mdp','mot de passe','trim|required|min_length[4]|max_length[52]|alpha_dash|encode_php_tags|xss_clean|existe_dans_bd['.$this->input->post('email').']');

Soit tu appelle ta fonction "callback_existe_dans_bd" et tu l'utilises dans la validation de ton formulaire comme c'est le cas actuellement :
$this->form_validation->set_rules('mdp','mot de passe','trim|required|min_length[4]|max_length[52]|alpha_dash|encode_php_tags|xss_clean|callback_existe_dans_bd['.$this->input->post('email').']');

Tu peut donner le nom que tu veux à ta fonction, du moment que tu utilises le même nom lorsque tu veux y faire appel.

Bonne journée,
0