2017-01-26 2 views
0

Я хочу поставить две кнопки на моем view.and две кнопки отправить значение одному контроллеру. как проверить, какая кнопка нажата ?! по этой ссылке Linkполучить значение сообщения в контроллере в codeigniter

но в контроллере не получить значение кнопки. Любая идея?

+0

Не эксперт, но если вы хотите, чтобы определить, что какая кнопка нажата, то вы можете дать это имя кнопки и получить это имя в входном почтовом массиве. –

ответ

3

Используйте тот же подход, однако в CodeIgniter ваш код будет выглядеть немного понятнее:

<form action="TheController/PostHandler" method="POST"> 
    <input type="submit" name="button1" id="button1" value="Button 1" /> 
    <input type="submit" name="button2" id="button2" value="Button 2" /> 
</form> 

Потому что в CodeIgniter, это:

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

эквивалентно:

$something = isset($_POST['something']) ? $_POST['something'] : NULL; 

Просто проверьте нулевые значения с помощью кода:

public function PostHandler(){ 
    if (!is_null($this->input->post('button1'))){ 
     // code for button 1 
    } 

    if (!is_null($this->input->post('button2'))){ 
     // code for button 2 
    } 
} 
+0

Я ставлю только этот код «if (! Is_null ($ this-> input-> post ('button1'))) {}". но я нажимаю кнопку 2, это работает.i действительно confuse.sorry – user2254798

+0

Я думаю, что хелпер лучше https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_open – user4419336

+0

да, у меня был тип под кнопкой 2 name , просто зафиксировал его – mrbm

1
$this->input->post('some_data'); // The function returns FALSE (boolean) if some_data not isset 

Использование

if($this->input->post('button1')){ 
$button1 = $this->input->post('some_data',true) //for xss 
} else { $bouton1 = false;} 
Смежные вопросы