CodeIgniter Forums
Process & Validating forms - best practices?? - 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: Process & Validating forms - best practices?? (/showthread.php?tid=61210)



Process & Validating forms - best practices?? - El Forum - 10-16-2014

[eluser]Unknown[/eluser]
Hello all,
I'm new to CI and working with MVC setups.

I have a question about the best way to handle processing a form.
I have seen several different methods and am curious what is the best way.

Lets just use a simple 1 field form that we validate, then insert into a database, then do something else with it.

Should you display the view, validate, save it all in the same function?

For example I have my controller :
Code:
public function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
  
$this->form_validation->set_rules('myfield', 'Test Field', 'required');
  
if ($this->form_validation->run() == FALSE)
{
  $this->load->view('header');
  $this->load->view('form');
  $this->load->view('footer');
}
else
{
  $this->promo_code_model->add_field();
  $this->load->view('success');
}
  
}

or should the processing of the data be handled in a different function in the controller?

In the above example - after I add the field into the database - I then take the input and use it to create a jpg image with it and let the user download it.

Would it be better to do something like this:

Code:
if ($this->form_validation->run() == FALSE)
{
  $this->load->view('header');
  $this->load->view('form');
  $this->load->view('footer');
}
else
{
  $this->promo_code_model->add_field();
  $this->create_jpg_image($this->input->post('myfield'));
  $this->load->view('success');
}

Or in the else part, just do everything in a different function?
Or does it not matter - its kind of whatever floats your boat?

Also - where would the correct place be to put the code that actually handles the JPG manipulation (what I actually do is take that text, and combine it with an image)? Is it ok to put it in the controller, or should it go in the model, or somewhere else?

Thanks
_rob