選択した特定の製品を削除するために、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');
}
値を渡す必要がある場合は、このようなURLを入力する必要があります
localhost/yoururl/index.php/products_controller/delete_controller/70
コントローラー機能では、このように読むことができます
function delete_controller( $product_id = NULL ) {
echo $product_id;
}
以下のコードを確認して、パラメータを取得してください
echo $this->uri->segment('3');
$product_id = $this->input->get('id', TRUE);
echo $product_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を取得できると思います
ページを表示
<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を暗号化して渡すことができます。
少し遅れたが、これは私のために働いた
$data_id = $this->input->get('name_of_field');