эй, ребята, я новичок в codeigniter, у меня есть такая форма
<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 от формы к методу контроллера, как я могу это сделать. , PLS помочь мне. ,
лучше передать значение в скрытом поле
<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>
// Контроллер
class My_class extends CI_Controller { public function index() { $this->load->view('my_class'); } public function my_method($id) { echo $id; // outputs 1 } }
Вам нужно использовать PHP и echo $ 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>
Здесь ваш метод формы – это сообщение, так что вы получите идентификатор через метод get, вы можете сделать
<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');
он будет лучшим вариантом для вас во всех случаях, если вы пытаетесь отправить один или несколько данных контроллеру из формы.
$route['ctl_dbcont/input_investment/(:num)'] = "ctl_dbcont/input_investment/$1";
Просто добавьте эту строку в свой config / route :).
Это будет работать только с числами, если у вас есть идентификаторы другого типа, которые вы можете использовать (: any)
Другой вариант – поймать идентификатор напрямую, используя:
$id = $this->uri->segment(3);
Где сегмент (3) является третьим элементом после вашего домена:
http://domain/segment1/segment2/segment3