我正在尝试将视图中的值传递给codeigniter中的控制器。当我将值传递给控制器时,这些值会显示在我的网址中。如何在不显示url的情况下传递值?
查看
<p class="info"><a href="<?php echo base_url("customer/details/" . $customer->id . "/" . $customer->card . "/data"); ?>"
class="css">Submit</a></p>
控制器
公共功能option_standard()
{
$data['id'] = $this->uri->segment(3);
$data['amt'] = $this->uri->segment(4);
$data['page_content'] = 'customer/details';
$this->load->view(layout, $data);
}
答案 0 :(得分:0)
只需通过URL传递customer_id,然后使用customer_id检索要在下一页显示的数据。您也可以使用隐藏的HTML字段来传递数据。
答案 1 :(得分:0)
您在不使用POST
的情况下通过的所有内容都将显示在查询字符串中。就是这样。
如果您不能或不会切换到POST
,则最好的选择是将通过查询字符串传递的数据量减少到绝对最小值(也许只是客户ID),然后让控制器提取其余的数据。不过请记住,您仍然需要验证输入。
GET
而不是POST
传递数据,则隐藏的字段(仅适用于表单)也将在查询字符串中显示,因此在您的情况下使用这些字段没有好处。
另一种替代方法是使用Ajax将数据传递回控制器,但数据仍将在浏览器的控制台中可见,因此就安全性(或晦涩性)而言,不会有任何实质意义。
答案 2 :(得分:0)
与其将$customer->id
传递到URL中,不如将其存储为在链接的URL上检索的会话数据。