一个表单,两个按钮将信息发送到不同的页面

时间:2012-10-01 03:25:36

标签: php forms postgresql

我有一个从PostgreSQL通过PHP生成的表。

用户需要选择删除行或更新行。

所以我成功实现了一个使用隐藏元素的删除按钮,将删除的密钥信息传递给我的delete.php

现在我正在尝试添加一个更新按钮,它会将php发送到我的update.php而不是我的delete.php。

但是,当我打开表单时,我会告诉它在提交时将数据发送到何处。

我的问题是,有没有一种方法可以让两个按钮都可用,并且根据按下哪个按钮,表单将数据发布到相应的php- delete.php vs update.php?也许输入按钮的某些属性我无法想到可以指向POST的位置而不是将其作为表单属性?

以下是我的例子:

 echo '<form action="delete.php" method="POST">';
        echo '<tr>';
        echo '<td class="even">' . $row['id'] . '</td>';
        echo '<td class="odd">' . $row['name'] . '</td>';
        echo '<td class="even">' . $row['countrycode'] . '</td>';
        echo '<td class="odd">' . $row['district'] . '</td>';
        echo '<td class="even">' . $row['population'] . '</td>';
        echo '<input type="hidden" name="todelete" value="'.$row['countrycode'].'"  />';
        echo '<input type="hidden" name="cityname" value='.$row['name'].'" />';
        echo '<input type="hidden" name="tablename" value="'.$_POST["search-type"].'"  />';
        echo '<td> <input class="odd" type="submit" name="updateBtn" value="Update?"  /></td>';
        echo '<td> <input class="even" type="submit" name="deleteBtn" value="Delete?" /></td>';
        echo '</tr>';
        echo '</form>';

这是为表的每一行生成的,因此每个表单都是唯一的,只发送该数据。

如果您对如何实施这两个按钮有任何想法,请告诉我们!

1 个答案:

答案 0 :(得分:4)

最简单的方法是将SINGLE脚本作为您的操作,然后使用基本

<?php

if (isset($_POST['deleteBtn'])) {
   ... do delete stuff
} else if (isset($_POST['updateBtn'])) {
   ... update stuff here ...
}

否则你会遇到一些javascript动态更改动作目标。