提交按钮值与现实之间的URL不同

时间:2012-04-02 12:51:55

标签: php get

我正在为学校项目构建一个简化的CMS,并且遇到有关删除用户的问题。

在只能通过admin登录名和相关密码访问的站点管理页面上,填充现有用户的表。每行显示关于用户的重要统计信息,以及删除按钮。

由于此管理页面与常规用户管理页面的URL相同,因此仅当登录为admin时,我才使用echo语句写出表格元素。该按钮通过GET请求调用外部脚本中的函数,并将userID附加到URL。

至少那应该发生什么。根据Firebug,button元素具有以下属性:

<form id="deleteUser" method="get" action="includes/scripts.php?action=deleteUser&id=18" name="deleteUser">
<input type="submit" value="Delete" name="submit">

但是,点击上面的按钮,我会得到网址

http://localhost/TestingLab/admin/includes/scripts.php?submit=Delete

这笔交易是什么?

1 个答案:

答案 0 :(得分:2)

提交GET表单会废弃任何现有的查询字符串。

改为将数据移动到隐藏的输入。

<form id="deleteUser" method="get" action="includes/scripts.php">
<input type="hidden" name="action" value="deleteUser">
<input type="hidden" name="id" value=18">
<input type="submit" value="Delete" name="submit">

...但不要根据GET请求更改服务器上的内容。 GET请求应该是可重复且安全的。使用POST。