web-dev-qa-db-ja.com

codeigniterでURL​​からIDを取得する方法は?

選択した特定の製品を削除するために、URLから「id」を取得しようとしています。 $this->uri->segment(3)を使用しましたが、URLから値を取得していません。 URLに「product_id」が表示されていますが。

$this->url->segment(2)を使用した場合、URLから2番目の値を取得できますが、製品IDを取得できません。以下は私のコードです。親切に私を案内してください。

[〜#〜] view [〜#〜]

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

値を渡す必要がある場合は、このようなURLを入力する必要があります

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

コントローラー機能では、このように読むことができます

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

以下のコードを確認して、パラメータを取得してください

echo $this->uri->segment('3');
19
Md.Jewel Mia
$product_id = $this->input->get('id', TRUE);
echo $product_id;
6
raj

あなたは間違った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
cecilozaur

ページを表示

  <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
CodeCanyon

少し遅れたが、これは私のために働いた

  $data_id = $this->input->get('name_of_field');
0
Nick.K