未定义的变量:内容

时间:2015-05-30 10:21:53

标签: php codeigniter variables model-view-controller undefined

我的错误:消息:未定义的变量:内容 我视图中使用的“内容”变量显然没有定义。但是,当我做var_dump($ result);测试内容..我得到:

  

array(1){[0] => array(7){[“id”] => string(3)“148”[“description”] =>   string(9)“33”[“date”] => string(10)“2015-05-30”[“status”] =>   string(1)“1”[“Title”] => string(2)“33”[“notes”] => string(9)“33”   [ “时间”] => string(8)“07:28:36”}}

我的控制者:

public function edit_news_form() {

   $this->load->view('edit_news_form');

    $this->load->model('users_model');
    $id = $this->uri->segment(3);
    $result=$this->users_model->get_id($id);
    $data['content']=$result;

   }


   public function edit(){
    $this->load->library('form_validation');
    $this->load->model('users_model');
    $id = $this->uri->segment(3);
    $result=$this->users_model->get_id($id);
    $data['content']=$result;

    $this->db->trans_start();       

    $title = $this->input->post('title');
    $notes = $this->input->post('notes');
    $description = $this->input->post('description');
    $date = date('Y-m-d',strtotime($this->input->post('date')));
    $status = 1;
    $time = date('h:i:s',strtotime($this->input->post('time')));

    $data = array(
            'Title' => $title,
            'description' => $description,
            'date'=>$date,
            'time'=>$time,
            'status' => $status,
            'notes' => $notes,
            );
    $this->users_model->update($id,$data);
    $this->db->trans_complete();

   }

}

我的模特:

 function get_id($id){
        $this->db->where('id',$id);     
        $query = $this->db->get('news');
        return $query->result_array();
    }

function update($id,$data){
    $this->db->where('id', $id);
    $this->db->update('news',$data);
    }

我的观点:

     <label>

         <?php echo form_open('resetPasswordController/edit/'.$this->uri->segment(3))?>
        <textarea name="description" rel="815"><?php echo $content[0]['description'];?></textarea>
    </div>
</label>

3 个答案:

答案 0 :(得分:0)

您必须在view方法中传递$ data变量。看看这个:

public function edit_news_form()
{
    $this->load->model('users_model');
    $id = $this->uri->segment(3);
    $result=$this->users_model->get_id($id);
    $data['content']=$result;

    $this->load->view('edit_news_form', $data);
}

答案 1 :(得分:0)

问题:即使我的表单字段符合规则,codeigniter表单验证仍会返回false(错误)。

示例:

   public function edit(){
    $this->load->library('form_validation');

    $this->form_validation->set_rules('title', 'title', 'required|xss_clean|trim|is_unique[news.Title]');
    $this->form_validation->set_rules('description', 'description', 'required|xss_clean|trim');
    $this->form_validation->set_rules('notes', 'notes', 'required|xss_clean|trim');

    if ($this->form_validation->run() == FALSE)
    {
        $data['error'] =  '';
        $data['page_title']="Edit News";
        echo "error";

    }
    else {
    ..........

如果我把字段留空,它会告诉我输入一些东西,因为它们不能留空。如果我输入内容,那么一旦我提交表单就会返回错误。

答案 2 :(得分:0)

if ($this->form_validation->run() == TRUE)

表示表单没有错误