![]() |
Email callback validation using model - for both newbies & profs - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20) +--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23) +--- Thread: Email callback validation using model - for both newbies & profs (/showthread.php?tid=5236) |
Email callback validation using model - for both newbies & profs - El Forum - 01-13-2008 [eluser]Unknown[/eluser] Hi everyone, Being a newbie I learn better by example and a lot of examples out there have helped me a lot and it is payback time...today I will be posting some easy script in how you can use validation callbacks with models e.g. checking if a user's email exists inorder to send him new password when he forgets his/hers. Let's begin: ***My Database table: callback (2 fields - "id" INT auto increment, "email" varchar(50)) ***(1)My view: form.php <?=form_open('mycontroller/processForm','');?> <input type="text" name="email" value="" size="30"/><br/> <?=$this->validation->error_string; ?><br/> <input type="submit" name="submit" value="send" /> </form> ***(2)My model(give you only the function/method): (Mymodel)- mymodel.php function emailExists($my_email) { $this->db->where('email', $my_email); //we check if the email is really found in the table //by checking if the row found is greater than zero // The table (callback) in the database has: ID(int, auto increment) and email(varchar) fields $row = $this->db->get('callback')->num_rows(); if($row > 0) { //we got a matching email return true; } else { //we don't get a matching email return false; } } ***(3)My controller: mycontroller.php Place this in the constructor(or if you did alreay e.g. in autoload no need): $this->load->library('validation'); $this->load->model('mymodel'); $this->load->helper(array('form', 'url')); //our call back method to check if the give email exists function checkEmail($email) { if($this->Mymodel->emailExists($email)== true) { return true; } else { $this->validation->set_message('checkEmail', 'Sorry, but you are not registered in our system'); return false; } } // then process the form function processForm() { $rules['email'] = 'required | valid_email | callback_checkEmail'; $this->validation->set_rules($rules); if($this->validation->run() == FALSE) { $this->load->view('form'); } else { //you put here what you want to do //e.g reset the user's password and send it to him/her } } |