这是我的HTML代码。我想通过" $category_edit->c_name
"我的Update()
控制器的值。我正在" $category_edit
"来自另一个控制器的变量。
我正在使用CodeIgniter框架。
<form method="post" action="<?php echo base_url('admin/category/update');?>">
<label>Parent Category: </label></br>
<select name="parent_id">
<?php
echo '<option value="' .$category_edit->id .'">';
echo $category_edit->p_name;
echo '</option>';
?>
</select>
<label>Category</label>
<input type="text" name="<?php echo $category_edit->c_name; ?>" id="category_name" value="<?php echo $category_edit->c_name; ?>">
<button>Update</button>
</form>
这是我的update()
控制器。
我收到错误:
尝试获取非对象的属性
public function update(){
$this->load->model('category_model');
echo $category_edit->c_name;
}
答案 0 :(得分:3)
请查看此参考代码:
public function update_view()
{
$this->load->model('category_model');
$data['category_edit'] = $this->category_model->get_category_values(); // return array
$data['extra_variable'] = 'lorem ipsum';
$this->load->view('category/update_view', $data);
}
在category/update_view.php
:
<form method="post" action="<?php echo base_url('admin/category/update');?>">
<label>Parent Category: </label></br>
<select name="parent_id">
<?php
echo '<option value="' .$category_edit['id'] .'">';
echo $category_edit['p_name'];
echo '</option>';
?>
</select>
<label>Category</label>
<input type="text" name="<?php echo $category_edit['c_name']; ?>" id="category_name" value="<?php echo $category_edit['c_name']; ?>">
<button>Update</button>
</form>
修改强>
请参阅:http://www.codeigniter.com/user_guide/general/views.html#adding-dynamic-data-to-the-view
答案 1 :(得分:2)
在HTML中进行一些更改(参见下面的代码)
<input type="text" name="category_name" id="category_name" value="<?php echo $category_edit->c_name; ?>">
public function update()
{
$this->load->model('category_model');
echo $this->input->post('category_name');
}
答案 2 :(得分:1)
您需要添加字段静态名称而不是任何变量。 所以尝试像这样添加
<input type="text" name="category_name" id="category_name" value="<?php echo $category_edit->c_name; ?>">
并且在控制器上你可以获得它的价值,如
$this->input->post('category_name');