[eluser]karloff[/eluser]
controller
Code:
function comments ()
{
$data['title'] = $this->uri->segment(3);
$this->db->where('url_title', $this->uri->segment(3));
$data['entriesquery'] = $this->db->get('entries');
$this->db->where('entry_id', $this->uri->segment(3));
$data['commentquery'] = $this->db->get('comments');
$rules['author'] = "trim|required";
$rules['email'] = "trim|required|valid_email|max_length[50]";
$rules['body'] = "trim|required|htmlentities|max_length[2000]";
$this->validation->set_rules($rules);
$fields['author'] = 'Author';
$fields['body'] = 'body';
$fields['email'] = 'Email Address';
$this->validation->set_fields($fields);
$this->validation->set_error_delimiters('<p class="error">', '</p>');
if ($this->validation->run() == FALSE) {
$this->load->vars(array(
'data' => $data,
));
$this->load->view('comment_view', $data);
} else {
$this->db->insert('comments', $_POST);
redirect('blog/comments/'.$_POST['entry_id']);
}
}
function comments_insert ()
{
$rules['author'] = "trim|required";
$rules['email'] = "trim|required|valid_email|max_length[50]";
$rules['body'] = "trim|required|htmlentities|max_length[2000]";
$this->validation->set_rules($rules);
$fields['author'] = 'Author';
$fields['body'] = 'body';
$fields['email'] = 'Email Address';
$this->validation->set_fields($fields);
$this->validation->set_error_delimiters('<p class="error">', '</p>');
if ($this->validation->run() == FALSE) {
$this->load->view('comment_view', $data);
} else {
$this->db->insert('comments', $_POST);
redirect('blog/comments/'.$_POST['entry_id']);
}
}
view
Code:
<?=form_open('blog/comments/' .$this->uri->segment(3));?>
<?php echo $this->validation->error_string; ?>
<fieldset>
<ul>
<li><label>Comments (required):</label></li>
<li><? $data = array(
'name' => 'body',
);
echo form_textarea($data);
?></li>
<li><label>Name (required):</label></li>
<li><?=form_input('author', $row->author); ?></li>
<li><label>URL:</label></li>
<li><input type="text" value="http://" name="url" /></li>
<li><label>Email (not published, required):</label></li>
<li><input type="text" value="" name="email" /></li>
<li><input type="submit" value="Submit Comment" class="submit" /></li>
</ul>
<?=form_hidden('entry_id', $this->uri->segment(3));?>
</fieldset>
</form>