2017-01-06 8 views
0

Codeigniterには、それを知るためのチュートリアルとその使い方があります。このチュートリアルでは、データベース内のテーブルに要素を作成する方法について説明しますが、この要素の更新方法は教えていません。私はcodeigniterライブラリを使用して更新クエリを作成しようとしていますが、更新ビューのフォームは送信しません。Codeigniterの更新フォームは提出しません

public function update_news($slug) 
 
\t \t \t { 
 

 
\t \t \t $this->load->helper('url'); 
 

 
\t \t \t $data = array(
 
\t \t \t    'title' => $this->input->post('title'), 
 
\t \t \t    'slug' => $slug, 
 
\t \t \t    'text' => $this->input->post('text') 
 
\t \t \t   ); 
 

 
\t \t \t $this->db->where('slug', $slug); 
 
\t \t \t $this->db->update('news', $data); 
 

 
\t \t \t }

ニュースCONTROLLER AT:

public function update($slug) 
 
     { 
 

 
      $this->load->helper('form'); 
 
      $this->load->library('form_validation'); 
 

 
      $data['title'] = 'Update 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) 
 
      { 
 
       // The form was NOT posted 
 
       // So we load the view 
 
       $data['news_item'] = $this->news_model->get_news($slug); 
 
       $this->load->view('templates/header', $data); 
 
       $this->load->view('news/update', $data); 
 
       $this->load->view('templates/footer'); 
 

 
      } 
 
      else 
 
      { 
 
       // The form was submitted 
 
       $data = array(
 
      'title' => $this->input->post('title'), //-->post variable 
 
      'slug' => $this->input->post('slug'), 
 
      'text' => $this->input->post('text') 
 
       ); 
 

 
       $this->news_model->update_news($slug, $data); 
 
       $this->load->view('news/success'); 
 
      } 
 
      }

のUPDATE VIEW AT:NEWS_MODEL AT

<h2><?php echo $title; ?></h2> 
 

 
<?php echo validation_errors(); ?> 
 

 
<?php echo form_open('news/update') ;?> 
 

 
<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="Update news item" /> 
 

 
</form>

私は「はconsole.log()」を使用してコードをテストしてみた問題は、更新ビューのフォームが提出していないということのようですが、私は理由を理解することはできませんフォームは、作成フォームに似ているので、これは完璧に動作します:

<h2><?php echo $title; ?></h2> 
 

 
<?php echo validation_errors(); ?> 
 

 
<?php echo form_open('news/create'); ?> 
 

 
    <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>

答えて

0

あなたproblをEMは次のとおりです。 あなたはこの行に===代わりの==を使用します。とにかく、私はちょうどそれを変更しようとした、

if ($this->form_validation->run() === FALSE) 
+0

それはCodeIgniterのサンプルコードではその方法であり、それはまだ動作しません。 –

+0

そのエラーは何ですか? – nima

+0

エラーは「見つからない404」ですが、これは更新ビューのフォームのためだと思いますが、解決方法はわかりません。 –

関連する問題