簡體   English   中英

如何從codeigniter中的URL獲取id?

[英]How to get id from URL in codeigniter?

我試圖從 URL 獲取“id”以刪除特定的選定產品。 我使用了$this->uri->segment(3)但它沒有從 URL 獲得任何價值。 雖然我可以在我的 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 URI 路由錯誤: http : //ellislab.com/codeigniter%20/user-guide/general/routing.html

基本上,如果您有一個 Products_controller 的方法稱為delete($id)並且您創建的 url 的格式為http://localhost/designs2/index.php/products_controller/delete/4 ,則刪除函數將收到$id作為參數。

使用你擁有的東西,我認為你可以通過使用$this->input->get('product_id);來獲取 id $this->input->get('product_id);

在 codeigniter 中,您不能像在核心 php 中那樣在 url 中傳遞參數。所以刪除“?” 和“product_id”並簡單地傳遞id。如果你想要更多的安全性,你可以加密id並傳遞它。

有點晚了,但這對我有用

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

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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM