【问题标题】:codeigniter retrieve parameter values passed from view to controllercodeigniter 检索从视图传递到控制器的参数值
【发布时间】:2014-03-19 20:22:38
【问题描述】:

我已经将一些参数从视图传递到控制器函数。我在网址中看到它们,例如:.../view/a1312014031 但我无法在函数中使用它们

这里是风景

<a href="<?php echo base_url() ?>visiteur/view/<?php echo $id; echo $mois; ?>" class='btn btn-primary'>Mettre en paiement </a>

这里是控制器功能

public function view($id = '', $mois = '') {
    ......
    $page = 'visiteur_liste';
    $this->load->view('visiteur/' . $page, $data);
    ....
    }

点击链接后,我得到带有参数的 url.../view/a1312014031 有没有在函数中使用这些参数而不使用会话的解决方案? 感谢您的宝贵时间

【问题讨论】:

  • 你在哪里使用会话?
  • 另外,您需要将 url 中的两个参数用“/”分隔,例如 &lt;?php echo $id."/"; echo $mois; ?&gt;
  • 我没有使用会话,我知道这是一种解决方案。但我想知道我是否可以在没有...的情况下做到这一点
  • 我试过这个,但我得到未定义的变量:id!是否可以通过 URL 以外的其他方式将这些参数传递给控制器​​
  • OK,第 1 号:您将方法从控制器传递到查看... 第 2 号:如果您得到未定义的变量 $id..(假设这是在您的 VIEW 中,而不是在您的 CONTROLLER 中,因为您定义了 $控制器参数中的 id...) 表示您可能没有正确地将数据传递给视图,它应该作为键 => 值数组对 $data = array('id'=&gt;1234); 传递

标签: php codeigniter


【解决方案1】:

好的,那么

您需要在超链接中用“/”分隔参数值,例如:

HTML

<a href="<?php echo base_url() ?>visiteur/view/<?php echo $id.'/'.$mois; ?>" class='btn btn-primary'>Mettre en paiement </a>

PHP

public function view($id = '', $mois = '') { //function in CodeIgniter Controller (visiteur)
    ......
    $page = 'visiteur_liste';
    $this->load->view('visiteur/' . $page, $data);
    ....
}

另一种方式:使用 GET 参数传递数据:

<a href="<?php echo base_url() ?>visiteur/view?id=<?php echo $id.'&mois='.$mois; ?>" class='btn btn-primary'>Mettre en paiement </a>

进入 CodeIgniter

public function view() {  //function in CodeIgniter Controller (visiteur)
        $id=$this->input->get("id"); // or, $id=$_GET["id"];
        $mois=$this->input->get("mois"); // or, $mois=$_GET["mois"];

}

【讨论】:

  • @Log1c 我想使用第二种方法。它不适合我吗?显示页面未找到错误。如何解决?
  • 我认为您没有重写 URL 以从 URL 中删除 index.php。在我的示例中,我没有提及。所以你的网址应该是这样的--> http://your.domain.com/index.php/controller_name/function?param=param_value&amp;param2=value2
  • 你能告诉我你的网址吗?
【解决方案2】:

试试这个

<a href="<?php echo base_url() ?>visiteur/view/<?php echo $id;?>/<?php echo $mois; ?>" 
   class='btn btn-primary'>Mettre en paiement </a>

【讨论】:

  • 谢谢,您的解决方案部分有效,我得到了这个 url ..view/a131/201403 但是当我在控制器函数中回显 $mois 和 $id 时,我只得到第二个参数的值( $mois),即 url 中的 201403。如果我将 $id 放在第二位,例如 /,我只得到 $id 值而不是 $mois。
  • 在控制器公共功能视图中试试这个($id =null,$mois=null)
猜你喜欢
  • 2011-09-12
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
相关资源
最近更新 更多