【问题标题】:how can I pass on a post data from one view to another through a controller如何通过控制器将帖子数据从一个视图传递到另一个视图
【发布时间】:2020-05-26 13:34:11
【问题描述】:

当我点击view<td> 时,我想从表格行加载一个带有隐藏ID 的新页面作为发布数据。 这是来自 Admin/contracts 的代码:

    $count = 0;
    foreach ($data as $row) {
      $id = $row->_id;
      ++$count;
     echo "<tr>
         "<input name='contract_id' id='contract_id' value='$id' hidden/>".
         "<td class=\"id_td td_content\">".$count."</td>".
         "<td class='serial_td td_content'>".$row->_id."</td>".
         "<td class='organisation_td td_content'>".$row->organisation."</td>".
         "<td class='contract_td td_content'>".$row->title."</td>".
         "<td class='lot_no_td td_content'>".$row->serial_no."</td>".
         "<td class='pub_date_td td_content'>".substr($row->pub_date, 0, 10)."</td>".
         "<td class='view_td'><a href='".site_url('Admin/contract_detail')."'>view</td>";
     echo "</tr>";
   }

这是来自管理控制器的代码:

    public function contract_detail(){
     $id = $this->input->post('contract_id');
     $result['id'] = $id;
     $this->load->view('admin/contract_detail', $result);
   }

以及 admin/contract_detail 视图中的代码:

    <?php
     echo "id = ". $id;
    ?>

问题是$id 在回显时不输出任何内容。 我需要帮助;

【问题讨论】:

  • 在引用之间,它不会起作用。试试你的其他变量( ...".$id."... )

标签: php codeigniter post scope


【解决方案1】:

这里的问题是您将用户重定向到 contract_detail vie 锚元素 如果您想将 id 传递给 contract_detail 页面,您必须将其作为表单而不是链接发送

例如

将你的 foreach 更改为以下

 foreach ($data as $row) {
  $id = $row->_id;
  ++$count;
 echo "<tr><form action='".site_url('Admin/contract_detail')."' method='post'>
     "<input name='contract_id' id='contract_id' value='$id' hidden/>".
     "<td class=\"id_td td_content\">".$count."</td>".
     "<td class='serial_td td_content'>".$row->_id."</td>".
     "<td class='organisation_td td_content'>".$row->organisation."</td>".
     "<td class='contract_td td_content'>".$row->title."</td>".
     "<td class='lot_no_td td_content'>".$row->serial_no."</td>".
     "<td class='pub_date_td td_content'>".substr($row->pub_date, 0, 10)."</td>".
     "<td class='view_td'><button type='submit'>view</button></td>";
 echo "</form></tr>";

}

【讨论】:

  • 我确实做到了,但$this-&gt;input-&gt;post('contract_id')contract_detail 页面中仍然没有输出任何内容
【解决方案2】:
"<input name='contract_id' id='contract_id' value='".$id."' hidden/>".

请试试这行代码。我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 2016-01-11
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2017-05-28
    相关资源
    最近更新 更多