0

嘿傢伙我笨是新通ID,我有這樣的如何在控制器從表單操作使用笨

<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment/$id" name="application" method="post" > 
//some code 
</form> 

我有一個控制器梅索德

function input_investment($id) 
{ 
$this->load->helper('form'); 
       $this->load->helper('html'); 
       $this->load->model('mod_user'); 
       $this->mod_user->insertinvestment($id); 
} 

我想一種形式從表單行爲到控制器方法獲取$ id我該怎麼做。 。請幫助我 。 。

回答

1

更好地傳遞值的隱藏字段

<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment" name="application" method="post" > 
<input type="hidden" name="my_id" value="<?php echo $id; ?>"/> 
</form> 

在CI功能

function input_investment() { 
    $id = $this->input->post('my_id'); 
    $this->load->helper('form'); 
    $this->load->helper('html'); 
    $this->load->model('mod_user'); 
    $this->mod_user->insertinvestment($id); 
} 

,或者如果你想(測試)

//樣品視圖

<?php $id = 1; ?> 
<form action="<?php echo base_url('my_class/my_method/' . $id); ?>" method="post" > 
    <input type="submit" /> 
</form> 

//控制LER

class My_class extends CI_Controller { 

    public function index() { 
    $this->load->view('my_class'); 
    } 

    public function my_method($id) { 
    echo $id; // outputs 1 
    } 

} 
+0

爲什麼這樣更好? –

1

你需要,如果你想要的值使用PHP和回聲的$ id的元素,現在你要發送「的$ id」到input_investment($ ID)。

<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment/<?php echo $id; ?>" name="application" method="post" > 
//some code 
</form> 
0

以下表單方法後,所以你續獲得通過get方法的ID,就可以像

<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment" name="application" method="post" > 
    <input type="hidden" name='id' value="<?php echo $id;?>"> 
</form> 

,並在你的控制器,你可以用後嘗試像

$id = $_POST['id']; 

$id = $this->input->post('id'); 

,如果你正在嘗試單個或多個數據從形式發送到控制器威爾·在所有情況下對你更好的選擇....

+0

通過POST發送數據而不是GET(或同等方法)有其優點,但GET也有其優點,例如允許用戶爲頁面添加書籤。 –

+0

你說得對,我會同意你的看法,但我也告訴過,「通過表單發送多個數據是最好的選擇」,因爲我們通過URL發送更多的值,以及.... – Gautam3164

0
$route['ctl_dbcont/input_investment/(:num)'] = "ctl_dbcont/input_investment/$1"; 

就在你的config /路由添加這一行:)。

這將只有數字的工作,如果你有其他類型的ID,你可以使用(:任何)

其他選項是直接趕ID使用:

$id = $this->uri->segment(3); 

哪裏段(3 )是您的域名後的第三個元素:

http://domain/segment1/segment2/segment3