You now know how you can read data from a database using CodeIgnite, but
 you haven't written any information to the database yet. In this 
section you'll expand your news controller and model created earlier to 
include this functionality.
<?php echo validation_errors(); ?>
<?php echo form_open('news/create') ?> //validations in codeigniter.
<label for="title">Title</label>
<input type="input" name="title" /><br />
<label for="text">Text</label>
<textarea name="text"></textarea><br />
    
<input type="submit" name="submit" value="Create news item" />
</form>
There are only two things here that probably look unfamiliar to you: the form_open() function and the validation_errors() function.
Views
<h2>Create a news item</h2><?php echo validation_errors(); ?>
<?php echo form_open('news/create') ?> //validations in codeigniter.
<label for="title">Title</label>
<input type="input" name="title" /><br />
<label for="text">Text</label>
<textarea name="text"></textarea><br />
<input type="submit" name="submit" value="Create news item" />
</form>
There are only two things here that probably look unfamiliar to you: the form_open() function and the validation_errors() function.
Controller
public function create()
{
 $this->load->helper('form');
 $this->load->library('form_validation');
 
 $data['title'] = 'Create a news item';
 
 $this->form_validation->set_rules('title', 'Title', 'required');
 $this->form_validation->set_rules('text', 'text', 'required');
 
 if ($this->form_validation->run() === FALSE)
 {
  $this->load->view('templates/header', $data); 
  $this->load->view('news/create');
  $this->load->view('templates/footer');
  
 }
 else
 {
  $this->news_model->set_news();
  $this->load->view('news/success');
 }
}
Model
public function set_news()
{
 $this->load->helper('url');
 
 $slug = url_title($this->input->post('title'), 'dash', TRUE);
 
 $data = array(
  'title' => $this->input->post('title'),
  'slug' => $slug,
  'text' => $this->input->post('text')
 );
 
 return $this->db->insert('news', $data);
}