要在 CodeIgniter 建立表單,可以透過其內建的函式 form_open() 與 form_open_multipart(),差別在於 form_open() 是建立一般表單,而 form_open_multipart() 則是可以建立要上傳檔案的表單。
至少要帶入一個參數,是用來指定要 post 的 url,像是:
echo form_open('email/send');
這樣就會建立以下的表單:
<form method="post" accept-charset="utf-8" action="http://example.com/email/send">
如果是使用 form_open_multipart() 的話表單則會長這樣:
<form method="post" accept-charset="utf-8" enctype="multipart/form-data" action="http://example.com/email/send">
兩個函式都可以帶入第二個或第三個參數,可以使用字串或是使用陣列可以更清楚,第二個參數可以帶入自訂的 html attribute,像是:
$attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes);
第三個參數帶入陣列,則可以自動生成 input type="hidden" 以及對應的 name 和 value,像是:
$hidden = array('username' => 'Joe', 'member_id' => '234'); echo form_open('email/send', '', $hidden);
產出的 html 會像這樣:
<form method="post" accept-charset="utf-8" action="http://example.com/email/send">
<input type="hidden" name="username" value="Joe" />
<input type="hidden" name="member_id" value="234" />
善用 CI 內建的函式可以讓表單建立更輕鬆。
參考:
表單輔助函數