Я только начал использовать Code Igniter framework, а также только начал изучать PHP OOP. Я натолкнулся на что-то при кодировании форм.Лучший способ для действия формы?
В форме, если у меня есть две кнопки, которые приведут к разным страницам, каким будет наиболее подходящий способ сделать это? Я нашел два пути. Во-первых, чтобы иметь динамический действие/связь, давайте назовем его метод A:
Метод A
переменной $ form_link является "form_link.
(View) main_user_view.php
<?php echo form_open($form_link); ?>
<?php echo form_button($add_user_button); ?>
<?php echo form_button($delete_user_button); ?>
<?php echo form_close(); ?>
(контроллер) User.php
public function form_link()
{
// Value of button clicked
$form_submitted = $this->input->post('submit_form');
if($form_submitted == 'add_user')
{
redirect('User/add_user');
}
elseif($form_submitted == 'delete_user')
{
redirect('User/delete_user');
}
elseif($form_submitted == 'back')
{
redirect('User');
}
}
И другой путь вместо того, чтобы иметь вторую кнопку я хотел бы использовать якорь и сделать абсолютное путь для него.
Метод B
Переменная $ form_link является 'add_user', которая является функцией в контроллере.
(View) main_user_view.php
<?php echo form_open($form_link); ?>
<?php echo form_button($add_user_button); ?>
<?php echo anchor('add_delete_user/delete_users_view', 'Delete', array('class'=>'btn btn-info', 'role'=>'button'));?>
<?php echo form_close(); ?>
Единственная проблема у меня с методом А в том, что если в форме у меня есть поля ввода, я не могу получить данные через POST
в redirect
не несет над данных к другим функциям. Я решил, что с помощью метода B, где якорь приведет к функции, я хочу, чтобы я мог получить данные POST
.
Так что мой главный вопрос: следует ли использовать метод B, если у меня есть две или более кнопки в форме?
Зачем вам использовать метод B? Мне нужно какое-то объяснение. – hzq