Кнопка «Отправить», выполнение PHP в CodeIgniter - PullRequest
0 голосов
/ 18 сентября 2011

Я занимаюсь разработкой веб-приложения, но наталкиваюсь на несколько небольших проблем.Я использую CodeIgniter.

Я хочу иметь 2 кнопки, которые будут выполнять 2 разные функции, которые делают разные вещи с базой данных.У меня есть эти функции в соответствующем файле контроллера.

Каков наилучший способ заставить кнопки выполнять свои функции?Если для этого требуется javascript, у меня нет проблем с его созданием, просто нужны некоторые указатели, так как я немного запутался здесь!

1 Ответ

1 голос
/ 18 сентября 2011

Если они вносят изменения в записи в базе данных, вам, вероятно, следует реализовать их как часть формы (или двух).Потенциально деструктивные действия не должны выполняться только с помощью простого запроса GET.

Формы могут содержать скрытый тип ввода для указания того, что вы хотите в контроллере.

HTML-страница:

<form action="controller/myfunction" method="POST">
    <input type="hidden" name="action" value="one">
    <input type="submit" value="Do action one">
</form>

<form action="controller/myfunction">
    <input type="hidden" name="action" value="two">
    <input type="submit" value="Do action two">
</form>

Контроллер:

function myfunction()
{
    // Your form would be submitted to this method...
    // Get action from submitted form ('one' or 'two')
    $action = $this->input->post('action');
    // Decide what to do
    switch ($action)
    {
        case 'one': $this->my_first_action(); break;
        case 'two': $this->my_second_action(); break;
    }
}

function my_first_action()
{
    // Do stuff...
}

Рекомендуется перенаправить на другую страницу после отправки формы - используйтешаблон ' Post / Redirect / Get '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...