提交按钮,在CodeIgniter中执行PHP

时间:2011-09-17 21:40:18

标签: php javascript codeigniter

我正在开发一个网络应用程序,但遇到了一些小问题。我正在使用CodeIgniter。

我希望有2个按钮可以执行2个不同的功能,这些功能可以对数据库执行不同的操作。我在适当的Controller文件中创建了这些函数。

使按钮执行各自功能的最佳方法是什么?如果它需要javascript,我没有问题,只需要一些指针,因为我在这里有点困惑!

1 个答案:

答案 0 :(得分:1)

如果他们正在对数据库中的记录进行更改,您应该将它们作为表单(或两个)的一部分来实现。只有使用简单的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”模式。