[請益] 有關ci的指導手冊 - 動態新增新聞

作者: alex90236 (洋蔥)   2016-03-15 16:25:06
小弟是php新手,請教一下各位先進,
有關於指導手冊上的這個動態新增新聞部分,
目前我的畫面拼出了header+中間的表單+footer,然後我不知道怎麼把資料加進去
sql內,前一個章節的部分(新聞模組)我有成功做出來,但也是我先手動把資料加進
sql內,才能把新聞模組這個章節的東西顯示出來,現在的問題是
我路由設定按照官方教學,設定$route['news/create'] = 'news/create';
然後url上輸入這個,我連到controller為news底下的create方法,
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Create a news item';
$this->form_validation->set_rules('title', '標題', 'required');
$this->form_validation->set_rules('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');
}
}
這邊有個小問題,我不太懂為什麼run這邊他一定是False,
然後view底下的create.php這個檢視頁面如下
<h2>建立新聞項目</h2>
<?php echo validation_errors(); ?>
<?php echo form_open('news/create') ?>
<label for="title">標題</label>
<input type="input" name="title" /><br />
<label for="text">內文</label>
<textarea name="text"></textarea><br />
<input type="submit" name="submit" value="建立新聞項目" />
</form>
這邊也有個小問題,想請問一下為什麼他的form tag只有一個 </form>
我知道中間的form_open會創造一個表單,那這樣他寫的</form>用意為何?
然後最大的問題就是我畫面上已經出現一個表單可以輸入欄位,
但是form上面沒有action 來將欄位內的值傳送出去,要如何將值傳進資料庫??
拜託各位先進指教,看了一陣子找不到用法。
作者: xdraculax (首席怪叔叔)   2016-03-15 22:12:00
它是 form 跟 action 同一頁,剛進沒 post 一定 FALSE,html 的部分建議不要用它的,那是前端設計的工作,用 ci 的會造成前端設計的麻煩router 是轉址用的,前後都是 news/create 不需要寫 router
作者: fri13 (思考跳tone記性差)   2016-03-15 23:55:00
form的開頭用程式產生是因為之後可能會用到CSRF的東西
作者: darkguy (riven)   2016-03-16 00:00:00
建議看看何謂mvc你判斷跟呈現兜一起了
作者: fri13 (思考跳tone記性差)   2016-03-16 01:01:00
另外他只是教學 用法是參考而已 XD
作者: alex90236 (洋蔥)   2016-03-16 23:54:00
謝謝前輩們,稍後我再來做研究!!!!感激不盡

Links booklink

Contact Us: admin [ a t ] ucptt.com