获得文本框的价值并转移到控制器(Codeigniter)PHP

时间:2018-08-22 05:44:31

标签: php codeigniter

将值从视图转移到控制器时遇到问题。我没有价值 这是我的方法

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()调用它,但它不会传输。

我该怎么办?

2 个答案:

答案 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元素,就可以实现您要执行的操作。

相关问题