php
  • codeigniter
  • uri
  • 2014-01-17 80 views 7 likes 
    7

    我想從URL中獲取'id'以刪除特定選定的產品。我已經使用$this->uri->segment(3),但沒有從URL獲得任何價值。雖然我可以在我的網址中看到'product_id'。如何從codeigniter中的URL獲取ID?

    如果我使用$this->url->segment(2)它給了我第二個值表單URL,但我無法獲得產品ID。 以下是我的代碼。請引導我。

    VIEW

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

    當我在$名稱點擊以下網址正在生成。

    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'); 
        } 
    

    回答

    12

    ,如果你要傳遞值你應該輸入網址這樣

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

    ,並在控制器的功能,你可以這樣寫

    function delete_controller($product_id = NULL) { 
        echo $product_id; 
    } 
    
    5
    $product_id = $this->input->get('id', TRUE); 
    echo $product_id; 
    
    1

    我認爲你正在使用的笨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

    使用你有什麼就有什麼,我認爲你可以通過使用獲得的ID $this->input->get('product_id);

    1

    查看頁面

    <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

    在笨你不能傳遞參數你在覈心php中做的url。所以刪除「?」和「product_id」,只需傳遞id即可。如果您想要更高的安全性,您可以加密id並傳遞它。

    14

    檢查下面的代碼,希望你得到你的參數

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

    非常感謝。 :) –

    相關問題