| PHP Error Message |
Warning: Invalid argument supplied for foreach() in /home/a3178292/public_html/article.php on line 213
CodeIgniter - Form: Creating Form HTML
CodeIgniter Form Step By Step Tutorial - Part 8: Now, we begin create a form for input data. We will use HTML Form CodeIgniter style. It is more save your time!
First, we need load Form helper. Put at controller (books.php within CodeIgniter\system\application\controllers), input() method. You can see line 16 at following code
<?
class Books extends Controller{
function Books(){
parent::Controller();
}
function main(){
$this->load->model('books_model');
$data = $this->books_model->general();
$this->load->view('books_main',$data);
}
function input(){
$this->load->helper('form');
$this->load->model('books_model');
$data = $this->books_model->general();
$this->load->view('books_input',$data);
}
}
?>
Open "books_input.php" within CodeIgniter\system\application\views. Update like following code:
<html>
<head>
<link rel="stylesheet" type="text/css"
href="<?php echo "$base/$css"?>">
</head>
<body>
<div id="header">
<? $this->load->view('books_header'); ?>
</div>
<div id="menu">
<? $this->load->view('books_menu'); ?>
</div>
<? echo form_open('books/input'); ?>
<? echo $title; ?>:
<? echo form_input('title'); ?>
</br>
<? echo $author; ?>:
<? echo form_input('author'); ?>
</br>
<? echo $publisher; ?>:
<? echo form_input('publisher'); ?>
</br>
<? echo $year; ?>:
<? echo form_dropdown('year',$years); ?>
</br>
<? echo $available; ?>:
<? echo form_checkbox('available','yes',TRUE); ?>
</br>
<? echo $summary; ?>:
<? echo form_textarea('summary'); ?>
</br>
<? echo form_submit('mysubmit','Submit!'); ?>
<? echo form_close(); ?>
<div id="footer">
<? $this->load->view('books_footer'); ?>
</div>
</body>
</html>
Do You can feel its difference with ordinary HTML? Yup, it more simple and save your time. The code still not work. We must define parameters at model.
Edit your model, and add parameter
<?
class books_model extends Model{
function books_model(){
parent::Model();
$this->load->helper('url');
}
function general(){
$this->load->library('MyMenu');
$menu = new MyMenu;
$data['base'] = $this->config->item('base_url');
$data['css'] = $this->config->item('css');
$data['menu'] = $menu->show_menu();
$data['webtitle'] = 'Book Collection';
$data['websubtitle']= 'We collect all title of
books on the world';
$data['webfooter'] = '© copyright by step
by step php tutorial';
$data['title'] = 'Title';
$data['author'] = 'Author';
$data['publisher'] = 'Publisher';
$data['year'] = 'Year';
$data['years'] = array('2007'=>'2007',
'2008'=>'2008',
'2009'=>'2009');
$data['available'] = 'Available';
$data['summary'] = 'Summary';
return $data;
}
}
?>
Now, point your browser to http://localhost/CodeIgniter/index.php/books/input. May be you will get like this:
