如何将 php 变量从视图 (html) 发送到控制器
How to send php variable from view(html) to controller
这是我的 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()
控制器。
我收到错误:
- 未定义的变量:category_edit
正在尝试获取 属性 的非对象
public function update(){
$this->load->model('category_model');
echo $category_edit->c_name;
}
对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');
}
请查看此参考代码:
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
您需要添加静态字段名称而不是任何变量。
所以尝试像这样添加
<input type="text" name="category_name" id="category_name" value="<?php echo $category_edit->c_name; ?>">
在控制器上你可以像
一样获得它的价值
$this->input->post('category_name');
这是我的 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()
控制器。
我收到错误:
- 未定义的变量:category_edit
正在尝试获取 属性 的非对象
public function update(){ $this->load->model('category_model'); echo $category_edit->c_name; }
对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');
}
请查看此参考代码:
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
您需要添加静态字段名称而不是任何变量。 所以尝试像这样添加
<input type="text" name="category_name" id="category_name" value="<?php echo $category_edit->c_name; ?>">
在控制器上你可以像
一样获得它的价值$this->input->post('category_name');