将值从视图转移到控制器时遇到问题。我没有价值 这是我的方法
Manifest.php
<?php foreach($voyage_info as $voyage) { ?>
<input type="hidden" name="voyage_id" value="<?=$voyage->voyage_id?>">
<a class="btn btn-primary primary-bg btn-lg col-md-2 m-3 btn-cus" href="<?php echo base_url('PortClient/view_voyage/');?>">
<h3>Voyage - <?=$voyage->voyage_number?></h3>
<small>Schedule - <?=$voyage->expected_arrival?> </small>
</a>
<?php } ?>
我想在manifest.php(查看页面)中获取voyage_id(上面的代码)的值并将其传输到控制器。 这是我的控制器
PortClient.php
public function view_voyage() {
$this->Auth->authCheck();
$data = $this->template();
$voyage_id = $this->session->userdata('voyage_id');
$data['view_cargo'] = $this->PortManifestModel->view_voyage($voyage_id)->result();
// your code here
$this->load->view("port/client/sub_manifest/sub_manifest_1", $data);
}
我将使用$ this-> session-> userdata()调用它,但它不会传输。
我该怎么办?
答案 0 :(得分:0)
您需要使用表单并访问表单提交时的值。或者,您可以使用AJAX发布值并按以下方式访问它:$this->input->post("voyage_id")
,而不是使用会话
答案 1 :(得分:0)
您正在使用会话获取值。相反,提交表单后(必须使用表单),必须使用POST或GET方法-
$voyage_id = $this->session->userdata('voyage_id');
这是错误的。提交表格/使用ajax并使用-
获取值 $voyage_id = $this->input->post('voyage_id');
OR
其他选项是-
如果您将voyage_id
存储在一个函数中,并且还向表单发送相同的值,则无需在hidden元素中进行设置(请确保这与表单提交后的voyage_id
一样) ),然后删除html元素,就可以实现您要执行的操作。