如何从codeigniter中的URL获取id?

问题描述 投票:0回答:9

我正在尝试从 URL 获取“id”,以便删除该特定的选定产品。我已经使用了

$this->uri->segment(3)
但它没有从 URL 中获取任何值。虽然我可以在我的网址中看到“product_id”。

如果我使用

$this->url->segment(2)
,它会给我第二个值形式的URL,但我无法获取产品ID。 以下是我的代码。请指导我。

查看

echo "<a href='delete_controller?product_id=$product_id'>";
echo $name;
echo "</a>";

当我点击 $name 时,会生成以下 URL。

http://localhost/designs2/index.php/products_controller/delete_controller?product_id=70

控制器

public function delete_controller()
    {
        echo $product_id =$this->uri->segment(3);           
        echo "Taha";
        $this->load->view('delete_confirmation');
    }
php codeigniter uri
9个回答
23
投票

检查下面的代码希望你能得到你的参数

echo $this->uri->segment('3');

22
投票

如果您必须传递值,您应该像这样输入 url

localhost/yoururl/index.php/products_controller/delete_controller/70

在控制器功能中你可以这样读

function delete_controller( $product_id = NULL ) {
  echo $product_id;
}

6
投票
$product_id = $this->input->get('id', TRUE);
echo $product_id;

2
投票

查看页面

  <a href="<?php echo base_url();?>products_controller/delete_controller/<?php echo $product_id;?>"><?php echo $name; ?></a>

控制器页面

  function delete_controller( $product_id) {

         echo $product_id;
         //add your logic

  }

1
投票

在 codeigniter 中,您无法像在核心 php 中那样在 url 中传递参数。因此请删除“?”和“product_id”并简单地传递 id。如果您想要更多安全性,您可以加密 id 并传递它。


1
投票

我认为您使用的 CodeIgniter URI 路由错误: http://ellislab.com/codeigniter%20/user-guide/general/routing.html

基本上,如果您有一个具有名为

delete($id)
的方法的 Products_controller,并且您创建的 url 的形式为
http://localhost/designs2/index.php/products_controller/delete/4
,则删除函数将接收
$id
作为参数。

使用你那里拥有的东西,我想你可以通过使用

$this->input->get('product_id);

来获取ID

1
投票

有点晚了,但这对我有用

  $data_id = $this->input->get('name_of_field');

0
投票
$CI =& get_instance();

if($CI->input->get('id'){
    $id = $CI->input->get('id');

}

0
投票

n
是您网址的最后一段

$id = $this->uri->segment(n);
© www.soinside.com 2019 - 2024. All rights reserved.