未定义的变量:内容
Undefined variable: content
我的error:Message:未定义的变量:内容
在我看来使用的 "content" 变量显然没有定义。然而,当我做 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"
["time"]=> 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>
您必须在视图方法中传递 $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);
}
问题:即使我的表单字段符合规则,codeigniter 表单验证仍然 returns 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 {
..........
如果我将字段留空,它会告诉我输入一些内容,因为它们不能留空。如果我输入一些东西,那么一旦我提交表单就会 returns 错误。
if ($this->form_validation->run() == TRUE)
表示表格没有错误
我的error:Message:未定义的变量:内容 在我看来使用的 "content" 变量显然没有定义。然而,当我做 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" ["time"]=> 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>
您必须在视图方法中传递 $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);
}
问题:即使我的表单字段符合规则,codeigniter 表单验证仍然 returns 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 {
..........
如果我将字段留空,它会告诉我输入一些内容,因为它们不能留空。如果我输入一些东西,那么一旦我提交表单就会 returns 错误。
if ($this->form_validation->run() == TRUE)
表示表格没有错误