我正在尝试从 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');
}
检查下面的代码希望你能得到你的参数
echo $this->uri->segment('3');
如果您必须传递值,您应该像这样输入 url
localhost/yoururl/index.php/products_controller/delete_controller/70
在控制器功能中你可以这样读
function delete_controller( $product_id = NULL ) {
echo $product_id;
}
$product_id = $this->input->get('id', TRUE);
echo $product_id;
查看页面
<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
}
在 codeigniter 中,您无法像在核心 php 中那样在 url 中传递参数。因此请删除“?”和“product_id”并简单地传递 id。如果您想要更多安全性,您可以加密 id 并传递它。
我认为您使用的 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
有点晚了,但这对我有用
$data_id = $this->input->get('name_of_field');
$CI =& get_instance();
if($CI->input->get('id'){
$id = $CI->input->get('id');
}
n
是您网址的最后一段
$id = $this->uri->segment(n);