我是Codeigniter的新手,我已经在这里看到过类似的问题。但对我而言,没有一个有效。 我的视图中有一个表单,并将该表单的输入值传递给控制器内部名为“ Insert”的方法。现在,我正在尝试将此值从“插入”方法“移动到另一个名为“ post_action”的方法。但是无法实现。
这是控制器:
public function insert() {
$data['values'] = $this->Final_model->insert();
$this->load->view('info/insert',$data);
$val = $this->input->post('coursecode');
echo $val;
$this->post_action($val); //passing data into another function
}
public function post_action($val='')
{
$temp1 = $this->input->post('textbox');
if($temp1== "")
{
$message = "You can't send empty text";
}
else
{
print_r($val);
if($val == NULL) echo 'Value is null bro...';
$grades = $_POST['grade'];
$msg = $_POST['my'];
$message = $_POST['textbox'];
$this->Final_model->build_post($msg,$val,$message,$grades);
echo "Value added successfully";
}
}
这是我的“索引”视图:
<?php echo form_open('Home_Controller/insert'); ?>
<div class="form-group">
<label>Course Code</label>
<input type="text" class="form-control" name = "coursecode"
placeholder="Add Course Code">
<br> <br>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
这是我的“插入”视图:
<?php echo form_open('Home_controller/post_action'); ?>
<td> <input type="text" name="textbox" id = "textbox"> </td>
<td><input type="text" name="grade" id = "grade1"></td>
<input type="hidden" name = "my" value = "<?php echo $value['id']; ?>"
id
= "my"/>
<td><input type="submit" value="Submit"></td>
</form>
现在,它在视图传递的insert方法中回显正确的值。但是在post_action方法中,它回显“ value is null bro”,并且0传递给数据库表(这是在模型中完成的插入操作)。
我的问题是,为什么不能在此post_action方法中从视图传递输入值。
P.S:我已经在这个问题上花了大约2天的时间,但是什么都没有。所以,如果这个问题太天真,请原谅我。预先感谢。
答案 0 :(得分:0)
请尝试使用该控制器:
<?php
public function insert()
{
$data['values'] = $this->Final_model->insert();
$this->load->view('info/insert',$data);
$val['coursecode'] = $this->input->post('coursecode');
echo $val['coursecode']; //echoing value from post
if(!empty($val)){
$this->post_action($val); //passing val into another function
} else {
echo "Didn't get value from post";
}
}
public function post_action($val = '')
{
if(is_array($val) && count($val) > 0)
{
$grades = $_POST['grade'];
$msg = $_POST['my'];
$message = $_POST['textbox'];
$this->Final_model->build_post($msg,$val,$message,$grades);
echo "Value added successfully";
}
else
{
echo "No result found";
}
}
?>